Skip to content

Commit 828ad3f

Browse files
Publish workflow (holepunchto#81)
1 parent a79ce34 commit 828ad3f

1 file changed

Lines changed: 86 additions & 0 deletions

File tree

.github/workflows/publish.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Publish
2+
on:
3+
push:
4+
tags:
5+
- v*
6+
permissions:
7+
id-token: write
8+
contents: write
9+
jobs:
10+
prebuild:
11+
strategy:
12+
matrix:
13+
include:
14+
- os: ubuntu-22.04
15+
platform: linux
16+
arch: x64
17+
container: ubuntu:22.04
18+
- os: ubuntu-22.04-arm
19+
platform: linux
20+
arch: arm64
21+
container: ubuntu:22.04
22+
- os: ubuntu-24.04
23+
platform: android
24+
arch: x64
25+
flags: -D ANDROID_STL=c++_shared
26+
- os: ubuntu-24.04
27+
platform: android
28+
arch: ia32
29+
flags: -D ANDROID_STL=c++_shared
30+
- os: ubuntu-24.04
31+
platform: android
32+
arch: arm64
33+
flags: -D ANDROID_STL=c++_shared
34+
- os: ubuntu-24.04
35+
platform: android
36+
arch: arm
37+
flags: -D ANDROID_STL=c++_shared
38+
- os: macos-14
39+
platform: darwin
40+
arch: x64
41+
- os: macos-14
42+
platform: darwin
43+
arch: arm64
44+
- os: macos-14
45+
platform: ios
46+
arch: arm64
47+
- os: macos-14
48+
platform: ios
49+
arch: arm64
50+
tags: -simulator
51+
flags: --simulator
52+
- os: macos-14
53+
platform: ios
54+
arch: x64
55+
tags: -simulator
56+
flags: --simulator
57+
- os: windows-2022
58+
platform: win32
59+
arch: x64
60+
- os: windows-2022
61+
platform: win32
62+
arch: arm64
63+
runs-on: ${{ matrix.os }}
64+
container: ${{ matrix.container }}
65+
name: Build / ${{ matrix.platform }}-${{ matrix.arch }}${{ matrix.tags }}
66+
steps:
67+
- run: apt update && apt install -y git clang lld
68+
if: ${{ matrix.platform == 'linux' }}
69+
- uses: holepunchto/actions/bare-base@v1
70+
- uses: holepunchto/actions/compile-prebuilds@v1
71+
with:
72+
platform: ${{ matrix.platform }}
73+
arch: ${{ matrix.arch }}
74+
flags: ${{ matrix.flags }}
75+
tags: ${{ matrix.tags}}
76+
upload: true
77+
publish:
78+
runs-on: ubuntu-latest
79+
environment:
80+
name: npm
81+
needs: prebuild
82+
name: Publish
83+
steps:
84+
- uses: holepunchto/actions/node-base@v1
85+
- uses: holepunchto/actions/download-prebuilds@v1
86+
- uses: holepunchto/actions/publish@v1

0 commit comments

Comments
 (0)