Skip to content

Commit 2fe7d45

Browse files
committed
feat: expand CI matrix to 5 platforms + publish dry-run
- ubuntu-24.04, macos-latest (ARM), macos-15-intel, windows-latest, windows-11-arm - Add publish-dry-run job to verify OIDC provenance works - Use runner.arch in cache key to separate ARM/x64 caches
1 parent 0b8f07c commit 2fe7d45

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,16 @@ jobs:
1111
fail-fast: false
1212
matrix:
1313
include:
14-
- os: ubuntu-latest
14+
- os: ubuntu-24.04
1515
lib-name: libimageflow_node.so
1616
- os: macos-latest
1717
lib-name: libimageflow_node.dylib
18+
- os: macos-15-intel
19+
lib-name: libimageflow_node.dylib
1820
- os: windows-latest
1921
lib-name: imageflow_node.dll
22+
- os: windows-11-arm
23+
lib-name: imageflow_node.dll
2024

2125
runs-on: ${{ matrix.os }}
2226

@@ -38,9 +42,9 @@ jobs:
3842
~/.cargo/registry
3943
~/.cargo/git
4044
native/target
41-
key: ${{ runner.os }}-cargo-${{ hashFiles('native/Cargo.lock') }}
45+
key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('native/Cargo.lock') }}
4246
restore-keys: |
43-
${{ runner.os }}-cargo-
47+
${{ runner.os }}-${{ runner.arch }}-cargo-
4448
4549
- name: Install LLVM (Linux)
4650
if: runner.os == 'Linux'
@@ -76,3 +80,26 @@ jobs:
7680

7781
- name: Run tests
7882
run: npm test
83+
84+
publish-dry-run:
85+
runs-on: ubuntu-24.04
86+
permissions:
87+
contents: read
88+
id-token: write
89+
steps:
90+
- uses: actions/checkout@v4
91+
92+
- name: Setup Node.js
93+
uses: actions/setup-node@v4
94+
with:
95+
node-version: '22'
96+
registry-url: https://registry.npmjs.org/
97+
98+
- name: Install dependencies
99+
run: npm ci --ignore-scripts
100+
101+
- name: Build TypeScript
102+
run: npm run build
103+
104+
- name: Publish dry-run (verify OIDC + provenance)
105+
run: npm publish --access public --provenance --dry-run

0 commit comments

Comments
 (0)