To create a release we need to:
- Increment the version in the Cargo.toml
- Manually trigger the
release
workflow to build a new image - Update the image tag in the action.yaml and commit that to the main branch
- Create a GitHub release post for the repo, with the version tag (e.g.,
v3.0.0
)
Install pre-commit (e.g., using pip install pre-commit
),
then run pre-commit run --all-files
before submitting a PR.
All cargo-components run can be installed by calling cargo install just && just setup
.
This will install just and run the setup
script
in the local justfile.
If you prefer not to install any of these components, that's fine. Just submit a PR, then fix errors as they're caught in CI.
Since the action fundamentally depends on the Github container registry, the only real way to test (that I've thought of at least) is to simply upload real images and running the binary with dry-run on and off.
To upload images, see the live_test workflow where we do the same thing.
To run the binary, see the run
command in the justfile. If you run this,
you'll need an .env
file containing the token you want to pass.
You might notice that there's a lot of disabled features in the Cargo.toml.
This might be redundant, but is a measure for trying to minimize the binary size. We've
used cargo-unused-features and the
unused-features analyze
command to aid in identifying redundant features.