1name: Nightly Release
2
3on:
4 push:
5 branches:
6 - master
7 workflow_dispatch:
8
9permissions:
10 contents: write
11
12jobs:
13 nightly:
14 runs-on: macos-latest
15 steps:
16 - name: Checkout
17 uses: actions/checkout@v6
18 with:
19 fetch-depth: 0
20
21 - name: Set up Go
22 uses: actions/setup-go@v6
23 with:
24 go-version: "1.26.1"
25
26 - name: Set up Zig
27 uses: goto-bus-stop/setup-zig@v2
28
29 - name: Get macOS SDK path
30 id: macos_sdk
31 run: echo "path=$(xcrun --show-sdk-path)" >> $GITHUB_OUTPUT
32
33 - name: Build with GoReleaser (snapshot)
34 uses: goreleaser/goreleaser-action@v7
35 with:
36 version: latest
37 args: release --snapshot --clean --config .goreleaser.nightly.yml
38 env:
39 SDK_PATH: ${{ steps.macos_sdk.outputs.path }}
40
41 - name: Delete existing nightly release
42 env:
43 GH_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
44 run: |
45 gh release delete nightlyv0 --yes --cleanup-tag || true
46
47 - name: Create nightly release
48 env:
49 GH_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
50 run: |
51 gh release create nightlyv0 dist/*.tar.gz dist/*.zip dist/checksums.txt \
52 --title "Nightly Build ($(git rev-parse --short HEAD))" \
53 --notes "This is an automated nightly build from the latest \`master\` commit ($(git rev-parse --short HEAD)).\nIt may be unstable — use stable releases for production." \
54 --prerelease \
55 --target master