Skip to content

Commit e8a0918

Browse files
committed
test: require all bun tests to pass in GitHub Actions
1 parent 44497fc commit e8a0918

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

.github/workflows/test.yml

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,37 @@ on:
1212

1313
env:
1414
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
15-
NODE_LTE: 22.x
15+
# MIN means minimum required (see `package.json`)
16+
NODE_MIN: 22.x
1617
NODE_LATEST: 25.x
18+
# Where's bun's release schedule?
19+
BUN_MIN: 1.2.18
20+
BUN_LATEST: 1.3.5
1721

1822
jobs:
1923
# Copy node version numbers found in env into output variables, that can be used in strategy matrixes.
20-
nodeversions:
24+
runtimeversions:
2125
runs-on: ubuntu-latest
2226
outputs:
23-
NODE_LTE: ${{ env.NODE_LTE }}
27+
NODE_MIN: ${{ env.NODE_MIN }}
2428
NODE_LATEST: ${{ env.NODE_LATEST }}
2529
steps:
2630
- name: "Prepare node.js version matrix"
2731
run: |
28-
echo "NODE_LTE=${{ env.NODE_LTE }}" >> $GITHUB_OUTPUT
32+
echo "NODE_MIN=${{ env.NODE_MIN }}" >> $GITHUB_OUTPUT
2933
echo "NODE_LATEST=${{ env.NODE_LATEST }}" >> $GITHUB_OUTPUT
34+
- name: "Prepare bun.sh version matrix"
35+
run: |
36+
echo "BUN_MIN=${{ env.BUN_MIN }}" >> $GITHUB_OUTPUT
37+
echo "BUN_LATEST=${{ env.BUN_LATEST }}" >> $GITHUB_OUTPUT
3038
3139
nodejs:
3240
# Env variables are not available for strategy matrix, so we need to depend on output variables.
33-
needs: nodeversions
41+
needs: runtimeversions
3442

3543
strategy:
3644
matrix:
37-
node-version: ["${{ needs.nodeversions.outputs.NODE_LTE }}", "${{ needs.nodeversions.outputs.NODE_LATEST }}"]
45+
node-version: ["${{ needs.runtimeversions.outputs.NODE_MIN }}", "${{ needs.runtimeversions.outputs.NODE_LATEST }}"]
3846
os: [ubuntu-latest, windows-latest, macos-latest]
3947

4048
runs-on: ${{ matrix.os }}
@@ -73,22 +81,15 @@ jobs:
7381
test*.xml
7482
7583
bun:
84+
# Env variables are not available for strategy matrix, so we need to depend on output variables.
85+
needs: runtimeversions
86+
7687
strategy:
7788
matrix:
78-
bun-version: [1.2.18, 1.3.5]
89+
bun-version: ["${{ needs.runtimeversions.outputs.BUN_MIN }}", "${{ needs.runtimeversions.outputs.BUN_LATEST }}"]
7990
os: [ubuntu-latest, windows-latest, macos-latest]
80-
isSuccessRequired: [required, optional]
81-
exclude:
82-
# Only MacOS can fail, because Bun there seems to use different zlib with different results, and ZIP file comparison fails :(
83-
- os: ubuntu-latest
84-
isSuccessRequired: optional
85-
- os: windows-latest
86-
isSuccessRequired: optional
87-
- os: macos-latest
88-
isSuccessRequired: required
8991

9092
runs-on: ${{ matrix.os }}
91-
continue-on-error: ${{ matrix.isSuccessRequired == 'optional' }}
9293

9394
steps:
9495
- name: Workaround Windows mess and set git to keep original line endings

0 commit comments

Comments
 (0)