Skip to content

Commit 02eeb57

Browse files
committed
release workflow to generate static binary
1 parent 675dc8b commit 02eeb57

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

.github/workflows/release.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Release Static Binary
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*' # Trigger on version tags like v0.4.0
7+
8+
jobs:
9+
build-static:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Pull latest changes
16+
run: git pull
17+
18+
- name: Set up Singularity
19+
run: |
20+
sudo apt-get update
21+
sudo apt-get install -y singularity-container
22+
23+
- name: Build debug static binary
24+
run: |
25+
singularity run --bind $(pwd):/load --bind /scratch --bind /uufs \
26+
docker://brentp/musl-hts-nim:latest \
27+
/usr/local/bin/nsb -n strling.nimble -s src/strling.nim -- -d:danger -d:release -d:debug
28+
cp strling strling_debug
29+
30+
- name: Build release static binary
31+
run: |
32+
singularity run --bind $(pwd):/load --bind /scratch --bind /uufs \
33+
docker://brentp/musl-hts-nim:latest \
34+
/usr/local/bin/nsb -n strling.nimble -s src/strling.nim -- -d:danger -d:release
35+
36+
- name: Upload binaries as release assets
37+
uses: actions/upload-artifact@v4
38+
with:
39+
name: strling_binaries
40+
path: |
41+
strling
42+
strling_debug
43+
44+
- name: Create GitHub Release and attach binaries
45+
uses: softprops/action-gh-release@v2
46+
with:
47+
files: |
48+
strling
49+
strling_debug
50+
env:
51+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)