Skip to content

Commit

Permalink
Remove ARMv6 from releases starting v12.0.0 (#2205)
Browse files Browse the repository at this point in the history
  • Loading branch information
fhemberger authored Apr 25, 2019
1 parent 8216eeb commit 3c39bdf
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 16 deletions.
11 changes: 8 additions & 3 deletions layouts/partials/primary-download-matrix.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,14 @@
</tr>
<tr>
<th>{{downloads.LinuxBinaries}} (ARM)</th>
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv6l.tar.xz">ARMv6</a></td>
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv7l.tar.xz">ARMv7</a></td>
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-arm64.tar.xz">ARMv8</a></td>
{{#semver-gte version.node "12.0.0"}}
<td colspan="3"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv7l.tar.xz">ARMv7</a></td>
<td colspan="3"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-arm64.tar.xz">ARMv8</a></td>
{{else}}
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv6l.tar.xz">ARMv6</a></td>
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-armv7l.tar.xz">ARMv7</a></td>
<td colspan="2"><a href="https://nodejs.org/dist/{{version.node}}/node-{{version.node}}-linux-arm64.tar.xz">ARMv8</a></td>
{{/semver-gte}}
</tr>

<tr>
Expand Down
41 changes: 28 additions & 13 deletions scripts/helpers/downloads.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const semver = require('semver')

const postMergeDownloads = [
const allDownloads = [
{
'title': 'Windows 32-bit Installer',
'templateUrl': 'https://nodejs.org/dist/v%version%/node-v%version%-x86.msi'
Expand Down Expand Up @@ -77,9 +77,6 @@ const postMergeDownloads = [
}
]

// Latest releases (v8.x and above) don't offer 'Linux PPC BE 64-bit Binary' any longer
const latestDownloads = postMergeDownloads.filter(download => download.title !== 'Linux PPC BE 64-bit Binary')

// v0.x of Node.js
const legacyDownloads = [
{
Expand Down Expand Up @@ -132,21 +129,39 @@ const legacyDownloads = [
}
]

function resolveUrl (item, version) {
const resolveUrl = (item, version) => {
const url = item.templateUrl.replace(/%version%/g, version)
return Object.assign({ url }, item)
}

module.exports = (version) => {
let downloads = latestDownloads
const resolveDownloads = (version) => {
let downloads = allDownloads

if (semver.satisfies(version, '< 1.0.0')) {
downloads = legacyDownloads
} else if (semver.satisfies(version, '< 8.0.0')) {
downloads = postMergeDownloads
} else if (semver.satisfies(version, '>= 10.0.0')) {
return legacyDownloads
}

if (semver.satisfies(version, '>= 8.0.0')) {
downloads = downloads.filter(ver =>
ver.title !== 'Linux PPC BE 64-bit Binary'
)
}

if (semver.satisfies(version, '>= 10.0.0')) {
downloads = downloads.filter(ver =>
ver.title !== 'Linux 32-bit Binary' &&
ver.title !== 'SmartOS 32-bit Binary')
ver.title !== 'SmartOS 32-bit Binary'
)
}

if (semver.satisfies(version, '>= 12.0.0')) {
downloads = downloads.filter(ver =>
ver.title !== 'ARMv6 32-bit Binary'
)
}
return downloads.map((item) => resolveUrl(item, version))

return downloads
}

module.exports = (version) =>
resolveDownloads(version).map((item) => resolveUrl(item, version))
11 changes: 11 additions & 0 deletions scripts/helpers/semver-gte.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
'use strict'

const semver = require('semver')

module.exports = function (a, b, options) {
if (arguments.length === 2) {
options = b
b = options.hash.compare
}
return semver.gte(a, b) ? options.fn(this) : options.inverse(this)
}

0 comments on commit 3c39bdf

Please sign in to comment.