Skip to content

Commit e29c47c

Browse files
Vaniell0claude
andcommitted
ci: add release workflow — build and upload binary on tag push
Triggers on v* tags. Builds .#irish via nix, smoke tests it, then uploads irish-linux-x86_64 to the GitHub release via gh CLI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 109c67f commit e29c47c

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags: ['v*']
6+
7+
jobs:
8+
build-and-release:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: write
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- uses: cachix/install-nix-action@v27
16+
with:
17+
nix_path: nixpkgs=channel:nixos-unstable
18+
extra_nix_config: |
19+
experimental-features = nix-command flakes
20+
21+
- name: Build irish
22+
run: nix build .#irish
23+
24+
- name: Smoke test
25+
run: |
26+
./result/bin/irish -e 'ls | head 3 | print'
27+
./result/bin/irish -e '@base.types | print'
28+
29+
- name: Upload release binary
30+
env:
31+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
run: |
33+
cp result/bin/irish irish-linux-x86_64
34+
gh release upload "${{ github.ref_name }}" irish-linux-x86_64 \
35+
--clobber

0 commit comments

Comments
 (0)