waycrate / swhkd

Sxhkd clone for Wayland (works on TTY and X11 too)
https://git.sr.ht/~shinyzenith/swhkd
BSD 2-Clause "Simplified" License
679 stars 47 forks source link

Stable release process #194

Open ajanon opened 1 year ago

ajanon commented 1 year ago

There is currently no formal process for releasing a stable version of swhkd.

For 1.2.2, I created a separate branch, split from a specific older commit, on which I updated the Cargo.toml and Cargo.lock files. As the 1.2.2 version is a patch release (semver), this made sense to not include larger changes, such as new features.

This way of doing releases could be extended to all new swhkd releases.

Process proposal:

  1. Branch off from a commit -- either from the main branch, or from an already existing release branch
  2. (Optional) Cherry-pick commits from other branches, or develop fixes/features as needed
  3. Update changelogs in the main branch and in the new branch
  4. Update the Cargo.toml and Cargo.lock files in the new branch
  5. Make sure tests pass
  6. Tag the Cargo update commit with the release version
  7. Create a release on GitHub

Ideally, 2, 3 and 4 would be bundled in a PR, which would ensure 5 gets verified.

Pros:

Cons:

If we go forward with this process (or another), it could be documented either directly inside the repository (PROCESSES.md?) or the GitHub wiki.

As always, this proposal is debatable, feel free to chip in!