@@ -57,26 +57,76 @@ permissions:
5757 contents : read
5858
5959jobs :
60+ build-tarball :
61+ if : false # github.event.pull_request.draft == false
62+ runs-on : ubuntu-24.04-arm
63+ steps :
64+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
65+ if : ${{ github.event_name != 'workflow_dispatch' }}
66+ with :
67+ persist-credentials : false
68+
69+ - name : Make tarball
70+ if : ${{ github.event_name != 'workflow_dispatch' }}
71+ run : |
72+ export DATESTRING=$(date "+%Y-%m-%d")
73+ export COMMIT=$(git rev-parse --short=10 "$GITHUB_SHA")
74+ ./configure && make tar -j4 SKIP_XZ=1 SKIP_SHARED_DEPS=1
75+ env :
76+ DISTTYPE : nightly
77+
78+
79+ - name : Upload tarball artifact
80+ if : ${{ github.event_name != 'workflow_dispatch' }}
81+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
82+ with :
83+ name : tarballs
84+ path : ' *.tar.gz'
85+ compression-level : 0
86+
6087 build :
88+ # needs: build-tarball
89+ permissions :
90+ actions : read
6191 strategy :
6292 fail-fast : false
6393 matrix :
6494 include :
6595 - runner : ubuntu-24.04
6696 system : x86_64-linux
67- - runner : ubuntu-24.04-arm
68- system : aarch64-linux
69- - runner : macos-13
70- system : x86_64-darwin
71- - runner : macos-latest
72- system : aarch64-darwin
97+ # - runner: ubuntu-24.04-arm
98+ # system: aarch64-linux
99+ # - runner: macos-13
100+ # system: x86_64-darwin
101+ # - runner: macos-latest
102+ # system: aarch64-darwin
73103 name : ' ${{ matrix.system }}: with shared libraries'
74104 runs-on : ${{ matrix.runner }}
75105 steps :
76- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
106+ - uses : actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
77107 if : ${{ github.event_name != 'workflow_dispatch' }}
78108 with :
79- persist-credentials : false
109+ name : tarballs
110+ path : tarballs
111+ github-token : ${{ github.token }} # token with actions:read permissions on target repo
112+ repository : aduh95/node
113+ run-id : 17547305713
114+
115+ - name : Extract tarball
116+ if : ${{ github.event_name != 'workflow_dispatch' }}
117+ run : |
118+ tar xzf tarballs/*.tar.gz -C "$RUNNER_TEMP"
119+ echo "TAR_DIR=$RUNNER_TEMP/$(basename tarballs/*.tar.gz .tar.gz)" >> "$GITHUB_ENV"
120+
121+ - run : tree "$TAR_DIR/deps/npm"
122+
123+ - name : Patch npm gyp (to be able to build addons for the tests)
124+ if : ${{ github.event_name != 'workflow_dispatch' }}
125+ run : |
126+ cd "$TAR_DIR"
127+ curl -L https://github.com/npm/cli/pull/8531.diff \
128+ | git apply --directory=deps/npm \
129+ --exclude=deps/npm/package-lock.json
80130
81131 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
82132 if : ${{ github.event_name == 'workflow_dispatch' }}
@@ -113,26 +163,21 @@ jobs:
113163 core.exportVariable('ACTIONS_CACHE_SERVICE_V2', 'on');
114164 core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || '');
115165 core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
116-
117- - name : Patch npm gyp (to be able to build addons for the tests)
118- if : ${{ github.event_name != 'workflow_dispatch' }}
119- run : curl -L https://github.com/npm/cli/pull/8531.diff | git apply --directory=deps/npm --exclude=deps/npm/package-lock.json
120166
121167 - name : Load shell.nix
122- if : ${{ github.event_name == 'workflow_dispatch' }}
123168 run : curl -fsLSO https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/shell.nix
124169
125170 - name : Build Node.js ${{ github.event_name == 'workflow_dispatch' && 'on the base commit' || 'and run tests' }}
126171 run : |
127172 nix-shell \
128- --pure --keep FLAKY_TESTS \
173+ --pure --keep TAR_DIR --keep FLAKY_TESTS \
129174 --keep SCCACHE_GHA_VERSION --keep ACTIONS_CACHE_SERVICE_V2 --keep ACTIONS_RESULTS_URL --keep ACTIONS_RUNTIME_TOKEN \
130175 --arg loadJSBuiltinsDynamically false \
131176 --arg ccache '(import <nixpkgs> {}).sccache' \
132177 --arg devTools '[]' \
133178 --arg benchmarkTools '[]' \
134179 --run '
135- make ${{ github.event_name == 'workflow_dispatch' && 'build' || 'run' }}-ci -j4 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9 --skip-tests=$CI_SKIP_TESTS"
180+ make ${{ github.event_name == 'workflow_dispatch' && 'build' || '-C "$TAR_DIR" run' }}-ci -j4 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9 --skip-tests=$CI_SKIP_TESTS"
136181 '
137182
138183 - name : Re-build Node.js on the merge commit
0 commit comments