Skip to content

Commit 8d54901

Browse files
committed
doc: reorganize platform list into separate headings
1 parent f8d5bad commit 8d54901

File tree

1 file changed

+59
-45
lines changed

1 file changed

+59
-45
lines changed

BUILDING.md

Lines changed: 59 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ file a new issue.
1212

1313
* [Supported platforms](#supported-platforms)
1414
* [Input](#input)
15-
* [Strategy](#strategy)
1615
* [Platform list](#platform-list)
16+
* [Tier 1](#tier-1)
17+
* [Tier 2](#tier-2)
18+
* [Experimental](#experimental)
1719
* [Supported toolchains](#supported-toolchains)
1820
* [Official binary platforms and toolchains](#official-binary-platforms-and-toolchains)
1921
* [OpenSSL asm support](#openssl-asm-support)
@@ -72,58 +74,70 @@ which it belongs.
7274

7375
Node.js relies on V8 and libuv. We adopt a subset of their supported platforms.
7476

75-
### Strategy
76-
77-
There are three support tiers:
78-
79-
* **Tier 1**: These platforms represent the majority of Node.js users. The
80-
Node.js Build Working Group maintains infrastructure for full test coverage.
81-
Test failures on tier 1 platforms will block releases.
82-
* **Tier 2**: These platforms represent smaller segments of the Node.js user
83-
base. The Node.js Build Working Group maintains infrastructure for full test
84-
coverage. Test failures on tier 2 platforms will block releases.
85-
Infrastructure issues may delay the release of binaries for these platforms.
86-
* **Experimental**: May not compile or test suite may not pass. The core team
87-
does not create releases for these platforms. Test failures on experimental
88-
platforms do not block releases. Contributions to improve support for these
89-
platforms are welcome.
90-
91-
Platforms may move between tiers between major release lines. The table below
92-
will reflect those changes.
93-
9477
### Platform list
9578

79+
Support for different platforms are organized into three tiers. Platforms may
80+
move between tiers between major release lines. The tables below will reflect
81+
those changes.
82+
9683
Node.js compilation/execution support depends on operating system, architecture,
97-
and libc version. The table below lists the support tier for each supported
98-
combination. A list of [supported compile toolchains](#supported-toolchains) is
99-
also supplied for tier 1 platforms.
84+
and libc version.
10085

10186
**For production applications, run Node.js on supported platforms only.**
10287

10388
Node.js does not support a platform version if a vendor has expired support
10489
for it. In other words, Node.js does not support running on End-of-Life (EoL)
105-
platforms. This is true regardless of entries in the table below.
106-
107-
| Operating System | Architectures | Versions | Support Type | Notes |
108-
| ---------------- | ---------------- | --------------------------------- | ------------ | ------------------------------------ |
109-
| GNU/Linux | x64 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
110-
| GNU/Linux | x64 | kernel >= 3.10, musl >= 1.1.19 | Experimental | e.g. Alpine 3.8 |
111-
| GNU/Linux | x86 | kernel >= 3.10, glibc >= 2.17 | Experimental | Downgraded as of Node.js 10 |
112-
| GNU/Linux | arm64 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 1 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
113-
| GNU/Linux | armv7 | kernel >= 4.18[^1], glibc >= 2.28 | Experimental | Downgraded as of Node.js 24 |
114-
| GNU/Linux | armv6 | kernel >= 4.14, glibc >= 2.24 | Experimental | Downgraded as of Node.js 12 |
115-
| GNU/Linux | ppc64le >=power9 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 2 | e.g. Ubuntu 20.04, RHEL 8 |
116-
| GNU/Linux | s390x >=z14 | kernel >= 4.18[^1], glibc >= 2.28 | Tier 2 | e.g. RHEL 8 |
117-
| GNU/Linux | loong64 | kernel >= 5.19, glibc >= 2.36 | Experimental | |
118-
| GNU/Linux | riscv64 | kernel >= 5.19, glibc >= 2.36 | Experimental | |
119-
| Windows | x64 | >= Windows 10/Server 2016 | Tier 1 | [^2],[^3] |
120-
| Windows | arm64 | >= Windows 10 | Tier 2 | |
121-
| macOS | x64 | >= 13.5 | Tier 1 | For notes about compilation see [^4] |
122-
| macOS | arm64 | >= 13.5 | Tier 1 | |
123-
| SmartOS | x64 | >= 18 | Tier 2 | |
124-
| AIX | ppc64be >=power9 | >= 7.2 TL04 | Tier 2 | |
125-
| FreeBSD | x64 | >= 13.2 | Experimental | |
126-
| OpenHarmony | arm64 | >= 5.0 | Experimental | |
90+
platforms. This is true regardless of entries in the tables below.
91+
92+
#### Tier 1
93+
94+
These platforms represent the majority of Node.js users. The Node.js Build
95+
Working Group maintains infrastructure for full test coverage. Test failures on
96+
tier 1 platforms will block releases.
97+
98+
A list of [supported compile toolchains](#supported-toolchains) is also supplied
99+
for tier 1 platforms.
100+
101+
| Operating System | Architectures | Versions | Notes |
102+
| ---------------- | ---------------- | --------------------------------- | ------------------------------------ |
103+
| GNU/Linux | x64 | kernel >= 4.18[^1], glibc >= 2.28 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
104+
| GNU/Linux | arm64 | kernel >= 4.18[^1], glibc >= 2.28 | e.g. Ubuntu 20.04, Debian 10, RHEL 8 |
105+
| Windows | x64 | >= Windows 10/Server 2016 | [^2],[^3] |
106+
| macOS | x64 | >= 13.5 | For notes about compilation see [^4] |
107+
| macOS | arm64 | >= 13.5 | |
108+
109+
#### Tier 2
110+
111+
These platforms represent smaller segments of the Node.js user base. The
112+
Node.js Build Working Group maintains infrastructure for full test coverage.
113+
Test failures on tier 2 platforms will block releases. Infrastructure issues
114+
may delay the release of binaries for these platforms.
115+
116+
| Operating System | Architectures | Versions | Notes |
117+
| ---------------- | ---------------- | --------------------------------- | ------------------------- |
118+
| GNU/Linux | ppc64le >=power9 | kernel >= 4.18[^1], glibc >= 2.28 | e.g. Ubuntu 20.04, RHEL 8 |
119+
| GNU/Linux | s390x >=z14 | kernel >= 4.18[^1], glibc >= 2.28 | e.g. RHEL 8 |
120+
| Windows | arm64 | >= Windows 10 | |
121+
| SmartOS | x64 | >= 18 | |
122+
| AIX | ppc64be >=power9 | >= 7.2 TL04 | |
123+
124+
#### Experimental
125+
126+
May not compile or test suite may not pass. The core team does not create
127+
releases for these platforms. Test failures on experimental platforms do not
128+
block releases. Contributions to improve support for these platforms are
129+
welcome.
130+
131+
| Operating System | Architectures | Versions | Notes |
132+
| ---------------- | ---------------- | ------------------------------ | --------------------------- |
133+
| GNU/Linux | x64 | kernel >= 3.10, musl >= 1.1.19 | e.g. Alpine 3.8 |
134+
| GNU/Linux | x86 | kernel >= 3.10, glibc >= 2.17 | Downgraded as of Node.js 10 |
135+
| GNU/Linux | armv7 | kernel >= 4.18, glibc >= 2.28 | Downgraded as of Node.js 24 |
136+
| GNU/Linux | armv6 | kernel >= 4.14, glibc >= 2.24 | Downgraded as of Node.js 12 |
137+
| GNU/Linux | loong64 | kernel >= 5.19, glibc >= 2.36 | |
138+
| GNU/Linux | riscv64 | kernel >= 5.19, glibc >= 2.36 | |
139+
| FreeBSD | x64 | >= 13.2 | |
140+
| OpenHarmony | arm64 | >= 5.0 | |
127141

128142
<!--lint disable final-definition-->
129143

0 commit comments

Comments
 (0)