Example Workflow
Important
tagitcurrently uses only1.2.3tags for versions, notv1.2.3. This is highly unlikely to change, except for maybe the major-onlyv1in addition to1, because of compatibility (some tools misunderstand1as short hash)
Important
You need upstream remote set up to use anything with
tagit.
Init
tagit changelog init
Make changes
Note
tagitisn’t used in this section, but it later uses the changes we make here.
edit stuff
vim src/somefile.rs
mention that in the changelog within the [Unreleased] section
vim CHANGELOG.md
bump the version; if you’re on 1.2.3, bump to 1.2.4-a.0; if you’re on 1.2.4-a.0, bump to
1.2.4-a.1; and so on…
vim Cargo.toml
update Cargo.lock
cargo clippy
commit (or skip directly to the next section)
git add src/somefile.rs CHANGELOG.md Cargo.toml Cargo.lock
# or just git add .
git commit -m "..." # write what changed instead of `...`
Prepare release
if necessary, bump to a non-prerelease version; if you’re on 1.2.4-a.1, then bump to 1.2.4
vim Cargo.toml
cargo clippy
re-arrange the changelog
tagit changelog
commit
git add CHANGELOG.md Cargo.toml Cargo.lock
# or just git add .
git commit -m "..." # instead of `...`, write either what changed or release version
git push
update tags
tagit tag
assuming you’ve set up CI with https://codeberg.org/parrrate/forgejo-release, the changelog will show up in the release