Skip to content

Commit 3af980b

Browse files
committed
Publish via Actions
1 parent 7dfcfe3 commit 3af980b

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

.github/workflows/publish.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Test deploy
2+
3+
on:
4+
push:
5+
workflow_dispatch:
6+
7+
jobs:
8+
build:
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
include:
14+
- os: macos-latest
15+
- os: ubuntu-latest
16+
- os: ubuntu-22.04-arm
17+
- os: windows-latest
18+
- os: windows-11-arm
19+
steps:
20+
- uses: actions/checkout@v4
21+
22+
- uses: actions/setup-node@v4
23+
24+
- name: Install dependencies
25+
run: npm ci
26+
27+
- name: Copy prebuild artifacts
28+
run: node scripts/prebuild.js --populate
29+
30+
- name: Tar prebuild artifacts
31+
run: tar -czf prebuilds-${{ matrix.os }}.tar.gz prebuilds
32+
33+
- uses: actions/upload-artifact@v4
34+
with:
35+
name: build-artifacts-${{ matrix.os }}
36+
path: prebuilds-${{ matrix.os }}.tar.gz
37+
if-no-files-found: error
38+
39+
deploy:
40+
needs: build
41+
runs-on: ubuntu-latest
42+
steps:
43+
- uses: actions/checkout@v4
44+
45+
- uses: actions/setup-node@v4
46+
with:
47+
registry-url: 'https://registry.npmjs.org'
48+
49+
- uses: actions/download-artifact@v4
50+
with:
51+
merge-multiple: true
52+
53+
- name: Extract prebuild artifacts
54+
run: |
55+
for file in prebuilds-*.tar.gz; do
56+
tar -xzf "$file";
57+
rm $file;
58+
done
59+
60+
- name: Install dependencies
61+
run: npm ci
62+
63+
- name: Publish package
64+
run: npm publish --access public
65+
env:
66+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 commit comments

Comments
 (0)