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
sudoto 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.tomlandCargo.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