Commit Graph

582 Commits

Author SHA1 Message Date
Jesse Chan
3d13d2aeff expected: update hashes for v3.2
- 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)
2021-05-31 02:50:41 +01:00
Sören Beye
27e00d1d72 Add support for linuxstatic armv7 binaries 2021-05-29 15:24:58 +01:00
Jesse Chan
7530a93030
README: add binary compatibility table (#193) 2021-05-28 11:29:39 -05:00
Jesse Chan
172f54b08a Add missing "-pre" version identifier, oops 2021-05-28 08:10:00 +08:00
Jesse Chan
5b6160fd7b Working on v3.2.0 2021-05-27 23:49:53 +01:00
Jesse Chan
8464266150 Add a "linuxllvm" Dockerfile for experiment 2021-05-27 23:49:53 +01:00
Jesse Chan
895aa0bd2a Tweaks "linux" and "linuxcross" Dockerfiles
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
2021-05-27 23:49:53 +01:00
Jesse Chan
93de534a9d build: enable LTO on macOS 2021-05-27 23:49:53 +01:00
Jesse Chan
2c5d8ffe86 patches: apply nodejs/node@ab71af345 to 12, 14 and 16
This change allows pkg-fetch to work with Clang.
2021-05-27 23:49:53 +01:00
Jesse Chan
6de6de36a3 CI: use Docker to build binaries for linux-arm64
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
2021-05-27 10:49:48 +01:00
Lee Robinson
b30cbad6ea
Update to main branch, update CI. (#190) 2021-05-24 08:37:16 -05:00
Jesse Chan
cf22e8082e
3.1.1 2021-05-22 20:59:03 +08:00
Jesse Chan
45687270be expected: add hashes of Node v16.2.0 binaries 2021-05-21 20:09:20 +08:00
Jesse Chan
4e3c59d138 patches: bump to 16.2.0 2021-05-20 20:15:53 +08:00
Jesse Chan
57a9634a2a 3.1.0 2021-05-14 21:49:51 +08:00
Jesse Chan
137f295461 expected: add hashes of Node v14.17.0 binaries 2021-05-14 13:08:31 +01:00
Jesse Chan
d9345e4ea5 patches: update for 14.17.0 2021-05-13 13:42:48 +01:00
Jesse Chan
11e94a53bc expected: update hashes for v3.1
- replaced macOS binaries due to 5d2bc3b
- node(8/10/12/14)-(alpine/linux/linuxstatic/win) carried over from v3.0
- added Node v16.1 binaries
- added macos-arm64 binaries (Node 14/16 only)
2021-05-13 07:22:54 +01:00
Jesse Chan
8452744e8d patches: workaround the js2c command issue with node16-win
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.
2021-05-12 07:50:15 +01:00
Jesse Chan
6e5bccd731 utils: switch to "node-fetch" and add proxy support
Bug: #177, vercel/pkg#1163
2021-05-11 15:01:57 +01:00
Jesse Chan
77e29d735e Working on v3.1.0
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.
2021-05-11 14:35:14 +01:00
dependabot[bot]
c8910c2fe2
Bump hosted-git-info from 2.8.8 to 2.8.9 (#181)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-11 15:16:24 +02:00
Jesse Chan
5d2bc3bb24 build: don't strip global symbols of macOS binaries
Bug: vercel/pkg#1155
2021-05-10 16:59:53 +01:00
Jesse Chan
a062bb42f5 build: strip signature from compiled macOS base binary
Newer versions of Apple Clang automatically ad-hoc sign the compiled
executable, due to the new mandatory code signing requirement [1].

However, for final executable to be signable, base binary MUST NOT
have an existing signature.

This change strips the ad-hoc signature from compiled macOS base binary.

[1]: https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes

Refs: vercel/pkg#1164
Bug: vercel/pkg#1023
2021-05-10 16:58:56 +01:00
Jesse Chan
25b257cbcc patches: bump to 16.1.0 2021-05-10 08:56:52 +01:00
Jesse Chan
fa6e45dbf4
3.0.4 2021-04-27 08:38:41 +08:00
Jesse Chan
815ca0b354 expected: add hashes of Node.js 16.0.0 binaries 2021-04-24 18:20:29 +08:00
Jesse Chan
7c8ca68ade CI: don't upload if binary is not compiled 2021-04-23 23:01:44 +08:00
Jesse Chan
8b5e474f3c Revert "CI: don't fetch, build only"
This reverts commit e9c2efaf7a.

We don't want to waste resources. Plus, with #169, it is mandatory
to bump minor if there is any change of binary.
2021-04-23 23:01:44 +08:00
Jesse Chan
e3a3cacffd CI: add Node 16, drop Node 8 2021-04-23 23:01:44 +08:00
Jesse Chan
dd5991ab44 patches: apply nodejs/node@ea694e2b1 to 16 2021-04-23 23:01:44 +08:00
Jesse Chan
b0f3903209 patches: add Node.js 16.0.0
Test: manual, node v16.0.0
2021-04-23 23:01:44 +08:00
Lee Robinson
f4645a72b4 3.0.3 2021-04-22 10:30:22 -05:00
Jesse Chan
f28cbd6cf7
log: expand progress bar width to 35 (#170)
Otherwise we can't use "linuxstatic" due to progress bar out of range...
2021-04-22 10:28:23 -05:00
Jesse Chan
629cc71d26 Validate hash of fetched binary 2021-04-22 22:54:06 +08:00
Jesse Chan
7467b7f9d8 Move small utility functions to "utils" 2021-04-22 22:54:06 +08:00
Jesse Chan
b11eb6679a build: stop when a procedure failed 2021-04-22 22:54:06 +08:00
Lee Robinson
3b4aea993a 3.0.2 2021-04-18 14:46:06 -05:00
Jesse Chan
2a68741776 Revert "--without-snapshot for alpine builds as a temporary workaround"
This reverts commit d4b89a9511.

No longer needed.
2021-04-15 23:47:45 +08:00
Jesse Chan
963e36eae8 patches: disable LTO for ICU tools 2021-04-15 23:47:45 +08:00
Jesse Chan
835ae3b646 patches: get rid of "-fuse-linker-plugin" to get LTO working 2021-04-15 23:47:45 +08:00
Jesse Chan
b5d926af84 Add a fully static "linuxstatic" variant
Bug: #72
2021-04-15 23:47:45 +08:00
Jesse Chan
21ab8a26c8 build: statically link against libgcc and libstdc++ on Alpine
Bug: vercel/pkg#555
2021-04-15 23:47:45 +08:00
Jesse Chan
07b80947e2 Add workflows for Alpine binaries 2021-04-15 23:47:45 +08:00
Jesse Chan
ae15753d5f Dockerfile.linux: properly install "python3" 2021-04-15 22:17:14 +08:00
Jesse Chan
e9c2efaf7a CI: don't fetch, build only 2021-04-15 22:17:13 +08:00
Jesse Chan
e59b746f26 build: fix improper use of ".concat" 2021-04-13 10:45:03 +08:00
Jesse Chan
748f67a0fe build: workaround win-arm64 cross compilation issue with small-icu 2021-04-11 23:59:25 +08:00
Jesse Chan
97c892758f build: defaults to small ICU
Bug: #164
2021-04-11 23:59:25 +08:00
Lee Robinson
db09e58f4a 3.0.1 2021-04-09 07:58:30 -05:00