Skip to content

Commit 091fb6a

Browse files
authored
[ci] Use Node 20.10.0+ for check-packages (#25709)
Why --- Node 20.10.0 includes a memory leak fix in V8's compilation cache. This matters for Jest test suites, which repeatedly discard and reload the environment. See jestjs/jest#11956. With a sample size of one, the check-packages step ran in [27m46s](https://github.com/expo/expo/actions/runs/7067532822/job/19241013344?pr=25709) with Node 20.10.0 and [31m27s](https://github.com/expo/expo/actions/runs/7067530553/job/19241009110?pr=25711) with Node 18.18.2. How --- Used setup-node to explicitly install Node 20. Getting the latest version will include the V8 fix. Also upgraded the checkout action (breaking change is that it uses Node 20 itself internally). If this works well, we could consider using setup-node's own Yarn node_modules caching instead of our own but that is out of the scope of this PR. Test Plan --- Make sure this passes in CI.
1 parent b01b873 commit 091fb6a

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

.github/workflows/sdk.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,15 @@ jobs:
3232
runs-on: ubuntu-22.04
3333
steps:
3434
- name: 👀 Checkout
35-
uses: actions/checkout@v3
35+
uses: actions/checkout@v4
3636
with:
3737
fetch-depth: 100
3838
- name: ⬇️ Fetch commits from base branch
3939
run: git fetch origin ${{ github.event.before || github.base_ref || 'main' }}:${{ github.event.before || github.base_ref || 'main' }} --depth 100
4040
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
41+
- uses: actions/setup-node@v4
42+
with:
43+
node-version: 20
4144
- name: ♻️ Restore caches
4245
uses: ./.github/actions/expo-caches
4346
id: expo-caches

0 commit comments

Comments
 (0)