Skip to content

Commit

Permalink
cicd: Add job for building release binary
Browse files Browse the repository at this point in the history
  • Loading branch information
Hejsil committed Jul 6, 2024
1 parent c37cb7d commit bc8f625
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 4 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/ci.yml → .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,23 @@ jobs:
test:
strategy:
matrix:
os: [ubuntu-latest]
step: [install, test]
optimize: [Debug, ReleaseSafe, ReleaseSmall, ReleaseFast]
runs-on: ubuntu-latest
optimize: [Debug, ReleaseSmall, ReleaseSafe, ReleaseFast]
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: goto-bus-stop/setup-zig@v2
with:
version: master
- run: zig build ${{matrix.step}} -Doptimize=${{ matrix.optimize}}
- run: zig build ${{ matrix.step }} -Doptimize=${{ matrix.optimize }}
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: goto-bus-stop/setup-zig@v2
with:
version: master
- run: zig fmt --check src build.zig
- run: zig fmt --check .
28 changes: 28 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release
on:
release:
types: [published]

permissions:
contents: write

jobs:
release:
strategy:
matrix:
target: [x86_64-linux-musl]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: goto-bus-stop/setup-zig@v2
with:
version: master

- run: |
zig build -Doptimize=ReleaseSafe -Dstrip -Dcpu=baseline -Dtarget=${{ matrix.target }}
mv zig-out/bin/aniz zig-out/bin/aniz-${{ matrix.target }}
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload ${{ github.event.release.tag_name }} zig-out/bin/aniz-${{ matrix.target }}
3 changes: 3 additions & 0 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,22 @@ const std = @import("std");
pub fn build(b: *std.Build) void {
const optimize = b.standardOptimizeOption(.{});
const target = b.standardTargetOptions(.{});
const strip = b.option(bool, "strip", "Omit debug symbols") orelse false;

const aniz = b.addExecutable(.{
.name = "aniz",
.root_source_file = b.path("src/main.zig"),
.target = target,
.optimize = optimize,
.strip = strip,
});

const test_step = b.step("test", "Run all tests in all modes.");
const tests = b.addTest(.{
.root_source_file = b.path("src/main.zig"),
.target = target,
.optimize = optimize,
.strip = strip,
});
const run_tests = b.addRunArtifact(tests);
test_step.dependOn(&run_tests.step);
Expand Down

0 comments on commit bc8f625

Please sign in to comment.