If you are using devcontainers and/or codespaces then you can start contributing immediately and skip the next step.
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 will yell at you about formatting/linting violations.
Some targets are generated from sources.
Currently this is just the bzl_library
targets.
Run bazel run //:gazelle
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_mylang, 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_mylang=$(pwd)/rules_mylang"
echo "common $OVERRIDE" >> ~/.bazelrc
This means that any usage of @rules_mylang
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