diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 151f477d..d721e826 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,3 +66,30 @@ git pull --rebase qa git merge --no-ff BRANCH_NAME git push origin qa ``` + +## Release + +1. Merge the branch to develop. +2. Checkout to the develop branch. +3. Run one of the following command depending on the new release version: + +``` +make release_patch +make release_minor +make release_major +``` + +These commands will merge and push the develop branch into main and create a new tag. +Once the tag is pushed, the GHA workflows will release a gem and create new binaries for Linux and MacOs that can be found in the github release artefacts. + +## Homebrew tap + +Uffizzi supports a [Homebrew tap package] (https://github.com/UffizziCloud/homebrew-tap) and it needs to be updated after each release. +1. Go to the [latest release] (https://github.com/UffizziCloud/uffizzi_cli/releases/latest). +2. Copy the link to the source code archive (tar.gz). +3. Run `brew create [link copied in the previous step]` - this will create a new Formula file with the sha and the source code url. +4. Copy over the contents of the existing [Formula](https://github.com/UffizziCloud/homebrew-tap/blob/main/Formula/uffizzi.rb) from the master, replacing the sha and the url for the ones from the newly created Formula. +5. Update the `resource "uffizzi-cli"` to the latest gem and add new dependencies if needed. +6. Run `HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source --verbose --debug uffizzi` and manually test the new uffizzi version (make sure that all other homebrew uffizzi versions are uninstalled). +7. Run `brew audit --strict --online` to check if the Formula adheres to the Homebrew style. +8. If tests and audit pass, create a PR into master in the UffizziCloud/homebrew-tap [repository] (https://github.com/UffizziCloud/homebrew-tap) with the new Formula.