Follow conventional commits in pull-request titles and descriptions. These messages will be picked up by the release automation when generating the changelog.
Starlark files should be formatted by buildifier. We suggest using a pre-commit hook to automate this. First install pre-commit, then run
pre-commit install
Otherwise later tooling on CI may yell at you about formatting/linting violations.
Some targets are generated from sources.
Currently these are bzl_library
targets and filegroup
targets.
Furthermore, the API documentation is generated, and certain flags need to be
generated for integration testing purposes.
Run bazel run //util:update
to keep them up-to-date.
You'll commonly find that you develop in another WORKSPACE, such as some other ruleset that depends on rules_zig, or in a nested WORKSPACE in the integration_tests folder.
To always tell Bazel to use this directory rather than some release artifact or a version fetched from the internet, run this from this directory:
OVERRIDE="--override_repository=rules_zig=$(pwd)/rules_zig"
echo "common $OVERRIDE" >> ~/.bazelrc
This means that any usage of @rules_zig
on your system will point to this folder.
- Determine the next release version, following semver (could automate in the future from changelog)
- Tag the repo and push it (or create a tag in GH UI)
- Watch the automation run on GitHub actions