Shared GitHub Actions workflows for NullClaw Zig projects.
Use @v1 from project repositories.
jobs:
ci:
uses: nullclaw/nullbuilder/.github/workflows/zig-ci.yml@v1permissions:
contents: readwith:
binary_name: nullclawartifact_prefix: nullclawProjects with generated assets can install Node, run setup hooks, customize the matrix, and attach one E2E command to a single target:
jobs:
zig:
uses: nullclaw/nullbuilder/.github/workflows/zig-ci.yml@v1permissions:
contents: readwith:
binary_name: nullhubartifact_prefix: nullhubnode_version: 22node_cache_dependency_path: ui/package-lock.jsontest_command: zig build test -Dembed-ui=false -Dbuild-ui=false --summary allpre_build_command: | npm --prefix ui ci --no-audit --no-fund npm --prefix ui run buildbuild_args: -Dbuild-ui=falsee2e_command: bash tests/test_e2e.shtargets_json: >- [ {"os":"ubuntu-latest","target":"linux-x86_64","zig_target":"x86_64-linux-musl"}, {"os":"ubuntu-latest","target":"linux-aarch64","zig_target":"aarch64-linux-musl"}, {"os":"macos-latest","target":"macos-aarch64","zig_target":"aarch64-macos"}, {"os":"windows-latest","target":"windows-x86_64","zig_target":"x86_64-windows"} ]jobs:
nightly:
uses: nullclaw/nullbuilder/.github/workflows/zig-nightly.yml@v1permissions:
actions: readcontents: readwith:
binary_name: nullclawartifact_prefix: nullclawforce: ${{ inputs.force || false }}jobs:
release:
uses: nullclaw/nullbuilder/.github/workflows/zig-release.yml@v1permissions:
contents: writepackages: writesecrets: inheritwith:
binary_name: nullclawartifact_prefix: nullclawpublish_docker: trueRelease builds support the same Node/pre-build and target-matrix inputs. Projects
that publish generated source archives can enable source_archive and provide a
source_prepare_command.