Skip to content

Commit a808224

Browse files
henrik242claude
andcommitted
add release workflow to create GitHub releases on version tags
Triggers on tags matching X.Y, builds all four targets, and creates a release with the binaries attached. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 414e0b1 commit a808224

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

.github/workflows/release.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: release envps
2+
3+
on:
4+
push:
5+
tags:
6+
- '[0-9].[0-9]'
7+
8+
jobs:
9+
build-macos:
10+
runs-on: macos-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
- name: build
14+
run: make
15+
- uses: actions/upload-artifact@v4
16+
with:
17+
name: envps-macos
18+
path: envps
19+
build-linux:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: build
24+
run: make
25+
- uses: actions/upload-artifact@v4
26+
with:
27+
name: envps-linux
28+
path: envps
29+
build-freebsd:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- uses: actions/checkout@v4
33+
- name: build
34+
uses: cross-platform-actions/action@v0.32.0
35+
with:
36+
operating_system: freebsd
37+
version: '14.2'
38+
run: sudo pkg install -y gmake && gmake
39+
- uses: actions/upload-artifact@v4
40+
with:
41+
name: envps-freebsd
42+
path: envps
43+
build-netbsd:
44+
runs-on: ubuntu-latest
45+
steps:
46+
- uses: actions/checkout@v4
47+
- name: build
48+
uses: cross-platform-actions/action@v0.32.0
49+
with:
50+
operating_system: netbsd
51+
version: '10.1'
52+
run: sudo pkgin -y install gmake && gmake
53+
- uses: actions/upload-artifact@v4
54+
with:
55+
name: envps-netbsd
56+
path: envps
57+
release:
58+
needs: [build-macos, build-linux, build-freebsd, build-netbsd]
59+
runs-on: ubuntu-latest
60+
permissions:
61+
contents: write
62+
steps:
63+
- uses: actions/download-artifact@v4
64+
- name: rename artifacts
65+
run: |
66+
mv envps-macos/envps envps-macos-arm64-x86_64
67+
mv envps-linux/envps envps-linux-x86_64
68+
mv envps-freebsd/envps envps-freebsd-x86_64
69+
mv envps-netbsd/envps envps-netbsd-x86_64
70+
- name: create release
71+
run: gh release create ${{ github.ref_name }} envps-*-* --repo ${{ github.repository }} --generate-notes
72+
env:
73+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)