Skip to content

Commit 3c39bdf

Browse files
authored
Remove ARMv6 from releases starting v12.0.0 (#2205)
Ref: - #2204 - nodejs/build#1677 (comment)
1 parent 8216eeb commit 3c39bdf

3 files changed

Lines changed: 47 additions & 16 deletions

File tree

layouts/partials/primary-download-matrix.hbs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,14 @@
7070
</tr>
7171
<tr>
7272
<th>{{downloads.LinuxBinaries}} (ARM)</th>
73-
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv6l.tar.xz">ARMv6</a></td>
74-
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv7l.tar.xz">ARMv7</a></td>
75-
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-arm64.tar.xz">ARMv8</a></td>
73+
{{#semver-gte version.node "12.0.0"}}
74+
<td colspan="3"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv7l.tar.xz">ARMv7</a></td>
75+
<td colspan="3"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-arm64.tar.xz">ARMv8</a></td>
76+
{{else}}
77+
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv6l.tar.xz">ARMv6</a></td>
78+
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv7l.tar.xz">ARMv7</a></td>
79+
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-arm64.tar.xz">ARMv8</a></td>
80+
{{/semver-gte}}
7681
</tr>
7782

7883
<tr>

scripts/helpers/downloads.js

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const semver = require('semver')
44

5-
const postMergeDownloads = [
5+
const allDownloads = [
66
{
77
'title': 'Windows 32-bit Installer',
88
'templateUrl': 'https://nodejs.org/dist/v%version%/node-v%version%-x86.msi'
@@ -77,9 +77,6 @@ const postMergeDownloads = [
7777
}
7878
]
7979

80-
// Latest releases (v8.x and above) don't offer 'Linux PPC BE 64-bit Binary' any longer
81-
const latestDownloads = postMergeDownloads.filter(download => download.title !== 'Linux PPC BE 64-bit Binary')
82-
8380
// v0.x of Node.js
8481
const legacyDownloads = [
8582
{
@@ -132,21 +129,39 @@ const legacyDownloads = [
132129
}
133130
]
134131

135-
function resolveUrl (item, version) {
132+
const resolveUrl = (item, version) => {
136133
const url = item.templateUrl.replace(/%version%/g, version)
137134
return Object.assign({ url }, item)
138135
}
139136

140-
module.exports = (version) => {
141-
let downloads = latestDownloads
137+
const resolveDownloads = (version) => {
138+
let downloads = allDownloads
139+
142140
if (semver.satisfies(version, '< 1.0.0')) {
143-
downloads = legacyDownloads
144-
} else if (semver.satisfies(version, '< 8.0.0')) {
145-
downloads = postMergeDownloads
146-
} else if (semver.satisfies(version, '>= 10.0.0')) {
141+
return legacyDownloads
142+
}
143+
144+
if (semver.satisfies(version, '>= 8.0.0')) {
145+
downloads = downloads.filter(ver =>
146+
ver.title !== 'Linux PPC BE 64-bit Binary'
147+
)
148+
}
149+
150+
if (semver.satisfies(version, '>= 10.0.0')) {
147151
downloads = downloads.filter(ver =>
148152
ver.title !== 'Linux 32-bit Binary' &&
149-
ver.title !== 'SmartOS 32-bit Binary')
153+
ver.title !== 'SmartOS 32-bit Binary'
154+
)
155+
}
156+
157+
if (semver.satisfies(version, '>= 12.0.0')) {
158+
downloads = downloads.filter(ver =>
159+
ver.title !== 'ARMv6 32-bit Binary'
160+
)
150161
}
151-
return downloads.map((item) => resolveUrl(item, version))
162+
163+
return downloads
152164
}
165+
166+
module.exports = (version) =>
167+
resolveDownloads(version).map((item) => resolveUrl(item, version))

scripts/helpers/semver-gte.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict'
2+
3+
const semver = require('semver')
4+
5+
module.exports = function (a, b, options) {
6+
if (arguments.length === 2) {
7+
options = b
8+
b = options.hash.compare
9+
}
10+
return semver.gte(a, b) ? options.fn(this) : options.inverse(this)
11+
}

0 commit comments

Comments
 (0)