A build tool for creating Bottlerocket variants.
This project is just getting started and is not ready for contributions. Soon we will be posting a design document and creating GitHub issues.
We welcome ideas and requirements in the form of issues and comments!
This section includes information for maintainers about testing and releasing Twoliter.
A release consists of a semver tag in the form v0.0.0.
We also use release-candidate tags in the form v0.0.0-rc1.
Release-candidate tags are typically deleted after the release is done.
We use a fork of cargo-dist to facilitate binary releases.
The purpose of the cargo-dist fork is to enable cross-compilation with cross
We do not release Twoliter into crates.io.
To perform a release:
- Create a PR that bumps the version and changelog like this one.
- Push a release-candidate tag, e.g.
v0.0.4-rc1. - That will kick of a GitHub Actions workflow that creates a GitHub release and attaches binaries.
- Create a Bottlerocket PR (example) that uses the new version of Twoliter.
- Test Twoliter in Bottlerocket
cargo makecargo make amicargo make test --help- More extensive testing if needed.
- When it's working merge the Twoliter PR and push a finalized tag, e.g.
v0.0.4. - Once the GitHub Actions workflow finishes, update the Bottlerocket PR to your finalized tag.
- Merge the Bottlerocket PR
- Delete your release-candidates and release-candidate tags from the GitHub repository (using the GitHub UI).