The following procedures assume the following:
- You are running on an Ubuntu based system. (Currently tested using Ubuntu 20.04)
- You can already successfully build and test AVML using
./eng/ci.sh
- You are logged into an Azure subscription using
az login
. - You are logged into crates.io using
cargo login
- You install
sudo
to root
If you are the current maintainer of this package:
- Create a branch for updating the version number of AVML
- Bump the version in
Cargo.toml
- Build & Locally test with the updated version using:
./eng/ci.sh
- Test on multiple linux versions using:
./eng/test-on-azure.sh
- Commit the updated
Cargo.toml
andCargo.lock
- Submit & merge a PR from this branch with the updated version information to the git repo.
- After the PR is merged, pull down and checkout
main
. - Verify the source as is can be packaged for crates.io using:
cargo package --locked
- Tag the new version in git:
git tag vX.X.X
- Push the new version to GitHub:
git push --tags
- Create a new release on GitHub with the aforementioned tag and populate it with this:
git log --pretty=format:"- %s" --reverse refs/tags/PREV_TAG...refs/tags/NEW_TAG
- Add the build artifacts from GitHub Actions
- Publish the crate:
cargo publish