diff options
| author | Kostis (Codefresh) <39800303+kostis-codefresh@users.noreply.github.com> | 2024-08-14 14:58:42 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-14 07:58:42 -0400 |
| commit | 1c5a2ffc29e42389ef1e69356feb52b80dbfe4f7 (patch) | |
| tree | f6f5e824ac7a35bfdea1224d55e55387ce632aa7 | |
| parent | 859900ef39bbaa54d18298615fca843e0488b106 (diff) | |
docs: added release process (#827)
Signed-off-by: Kostis Kapelonis <kostis@codefresh.io>
| -rw-r--r-- | docs/contributing/releasing.md | 63 | ||||
| -rw-r--r-- | mkdocs.yml | 1 |
2 files changed, 64 insertions, 0 deletions
diff --git a/docs/contributing/releasing.md b/docs/contributing/releasing.md new file mode 100644 index 0000000..0c32c45 --- /dev/null +++ b/docs/contributing/releasing.md @@ -0,0 +1,63 @@ +# Releasing + +Argo Image Updater is released in a 2 step automated fashion using GitHub actions. The release process takes about 20 minutes, sometimes a little less, depending on the performance of GitHub Actions runners. + +Releases can only be done by people that have write/commit access on the Argo Image Updater GitHub repository. + +## Introduction + +First install on your workstation the following: + +1. GoLang +1. The `git` executable +1. The [GitHub CLI](https://cli.github.com/) +1. The `semver` cli with `go install github.com/davidrjonas/semver-cli@latest` + +Then create a release branch: + +``` +git clone git@github.com:argoproj-labs/argocd-image-updater.git +git branch -b release-0.13 +git push origin release-0.13 +``` + +The release name is just an example. You should use the next number from the [previous release](https://github.com/argoproj-labs/argocd-image-updater/releases). Make sure that the branch is named as `release-X.XX` though. + +Also note that `origin` is just an example. It should be the name of your remote that holds the upstream branch of Argo Image updater. + +Finally run + +``` +./hack/create-release-pr.sh origin +``` + +Again notice that the argument must match the upstream Git remote that you used before. This [command](https://github.com/argoproj-labs/argocd-image-updater/blob/master/hack/create-release-pr.sh) will automatically create a Pull Request in GitHub with the contents of the new release. + +## Review the pull request + +Visit the Pull Request that you just created in the GitHub UI. Validate the contents of the diff to see the suggested changes. +Once you are happy with the result, approve/merge the Pull Request. + +Merging the Pull Request will start an [automated release process](https://github.com/argoproj-labs/argocd-image-updater/blob/master/.github/workflows/create-release-draft.yaml) that will build all the artifacts +and create a draft release. + +## Publish the release + +You should now have a draft release or Argo Image Updater with all required artifacts attached as binaries. + +First, attach the release notes. [GitHub can do it automatically for you](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) by clicking the respective button +and selecting from the drop-down menu the previous release. + +Finally publish the release by clicking the green button on the bottom left of the screen. + +You are finished! + + + + + + + + + + @@ -40,6 +40,7 @@ nav: - Contributing: - Overview: contributing/start.md - Developing: contributing/development.md + - Releasing: contributing/releasing.md - Examples: examples/index.md - Releases ⧉: https://github.com/argoproj-labs/argocd-image-updater/releases - Roadmap ⧉: https://github.com/argoproj-labs/argocd-image-updater/milestones |
