Skip to content

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

License

Notifications You must be signed in to change notification settings

knadh/zig-releaser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

zig-releaser

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