- node8 carried over from v3.1
- node(10/12/14/16)-(alpine/linuxstatic/win) carried over from v3.1
- node(10/12/14/16)-linux-x64 carried over from v3.1
- macOS binaries replaced due to 93de534a9
- linux-arm64 binaries replaced due to 6de6de36a
- linuxstatic-armv7 binaries added (#194, @Hypfer)
linux:
- Move ARGs right before where they are used
- Move "COPY . ./" right before the "yarn" steps
So there is no unnecessary reruns of steps
linuxcross:
- Move ARGs right before where they are used
- Move "COPY . ./" right before the "yarn" steps
- Don't attempt to install the cross toolchain if compiling natively
- Add RANLIB override
- Simplify ENVs
Recently it comes to my attention that Github Actions image installs
experimental C++ standard library from an unsupported PPA, which
effectively breaks assumptions of binary compatibility for the OS
(in this case, Ubuntu 18.04+).
Unfortunately, as a result, the Github Actions environment can no
longer be trusted to compile proper binaries.
This change adds a Dockerfile that composes a proper Ubuntu 18.04
environment from official "ubuntu:bionic" image, and builds Node
binaries in it.
Bug: actions/virtual-environments#3432
Apparently with nodejs/node@54dfdbccc and our addition of a bootstrap
script entry, we hit some sorts of limits on Windows platform.
Mysteriously a command starts to fail. I suspect that we happen to
reach the maximum command line argument length on Windows.
This change is a quick hack to bring the command below the limit. It
does not change the functionality in any way. Upstream is going to
notice this issue soon, when they add another internal JavaScript
function.
CI workflows skip existing binaries in the same minor version. However,
some changes require us to rebuild and replace binaries.
As such, bump the minor version and create a Git tag to store the binaries.
Binaries to be carried over from v3.0:
- alpine, linux, linuxstatic and win
macOS ones would be recompiled due to 5d2bc3bb2, and Node 16.0.0
binaries will be dropped in v3.1.
No npm release is required for this change. We will do that after
binaries are compiled and hashes are updated.