Skip to content

Instantly share code, notes, and snippets.

@ejpcmac
Last active September 22, 2024 09:54
Show Gist options
  • Save ejpcmac/0adfe4bc3e01b1ed52df5805d3bf5260 to your computer and use it in GitHub Desktop.
Save ejpcmac/0adfe4bc3e01b1ed52df5805d3bf5260 to your computer and use it in GitHub Desktop.
Procedures for getting back on a project and making a new release

Procedures

Getting back on a project

  • Check that the Git configuration is up to date (in Magit)
  • Checkout the develop branch (if using git-flow)
  • Bump the version to the next -dev one and reate an [Unreleased] section in the CHANGELOG.md
  • Rename the master branch to main
  • Update the CONTRIBUTING.md and README.md if necessary
  • Update the CI configuration
  • Update the environment
  • Update the .envrc, flake.nix (rust-overlay), project definition and all dotfiles (use probe-rs in Rust projects)
  • For Rust libraries, do not ignore the Cargo.lock
  • Update the dependencies an fix the errors
  • Fix the warnings and update the project to the last conventions
  • If the project contains a configuration updater, remove support for previous development versions (both the updater and the configuration itself)
  • Work :)

Releasing a new version

  • Update the dependencies
  • Start a git-flow release
  • If the project contains a versioned configuration, promote the latest development version to a release one
  • Bump the version in all relevant files (including the CHANGELOG.md)
  • Update the CHANGELOG.md
  • Ensure the README.md and CONTRIBUTING.md are still up to date
  • Ensure the project has a license and all files contains the header (if appropriate)
  • Ensure the copyrights are up to date
  • Ensure any realease / package configuration (cargo, Nix, Docker, …) is up to date (including proper list of files to include / exclude)
  • If the release branch has existed for a few days, update the CHANGELOG.md (do not forget to update the release date and link)
  • Release :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment