Current release behavior in this repo:
- Pushing a tag matching
vX.Y.Ztriggers.github/workflows/release.yml. - That workflow creates/updates the GitHub Release and uploads platform binaries.
- It does not publish crates to crates.io.
- Prepare release commit on
master:- Update
Cargo.tomlversion (for example0.11.1). - Update
CHANGELOG.mdfromUnreleasedto the new version/date.
- Update
- Validate locally:
cargo testcargo test --manifest-path utf16-simd/Cargo.tomlcargo publish --dry-run
- Publish crates to crates.io (manual, if needed):
- Publish
utf16-simdfirst only if its version changed.cargo publish --manifest-path utf16-simd/Cargo.toml
- Then publish
evtx:cargo publish
- Publish
- Create and push the tag:
git tag vX.Y.Zgit push origin vX.Y.Z
- Verify release:
- Confirm crates.io shows the new versions.
- Confirm CI succeeded via GitHub CLI:
gh run list --workflow release.yml --limit 5gh run watch <run-id>
- Confirm release artifacts exist:
gh release view vX.Y.Z