knadh / zig-releaser

A simple hack to use GoReleaser to build, release, and publish Zig projects.

Repository from Github https://github.comknadh/zig-releaserRepository from Github https://github.comknadh/zig-releaser

GoReleaser v2 Official Support 🎉

See https://goreleaser.com/quick-start/.

zig-releaser (old, GoReleaser v1)

zig-releaser is a hack that allows Zig programs to be built, packaged, and released with GoReleaser, a tool for publishing Go programs.

Here is an example for a Zig program published to GitHub with GoReleaser. The changelog and artefacts are all automatically generated by GoReleaser. This hack has only been tested with GitHub but should work with other release targets GoReleaser supports.

How to use

  • Install GoReleaser.

  • Setup the GitHub token with repo perms.

  • Copy .goreleaser/, and .goreleaser.yml from this repo to the root of the Zig project.

  • Edit .goreleaser.yml for the project (generally the binary, goos, files fields).

  • Edit build.sh script to tweak the zig build flags.

Once the project is ready for release, add a semver tag (git tag -a v0.1.0 -m v0.1.0)

Dry run

goreleaser --snapshot --skip=publish --clean

The releases will appear in the dist directory.

Publish

goreleaser --snapshot --skip=publish --clean

About

A simple hack to use GoReleaser to build, release, and publish Zig projects.

License:MIT License


Languages

Language:Shell 98.0%Language:Go 2.0%