diff --git a/RELEASE-PROCESS.md b/RELEASE-PROCESS.md index f0a929db..c884d3a0 100644 --- a/RELEASE-PROCESS.md +++ b/RELEASE-PROCESS.md @@ -4,32 +4,12 @@ The process of releasing a new version of the KEDA HTTP Addon involves a few ste >The process herein is largely automated but we recognize that there may be more that we can automate. If you find something that _can_ and _should_ be automated, and you believe that you know how, please [submit an issue](https://github.com/kedacore/http-add-on/issues/new?assignees=&labels=needs-discussion%2Cfeature-request&template=Feature_request.md) explaining how. -## 0: Current and new versions +## 1: Current and new versions Please go to the [releases page](https://github.com/kedacore/http-add-on/releases) and observe what the most recent release is. Specifically, note what the _tag_ of the release is. For example, if [version 0.1.0](https://github.com/kedacore/http-add-on/releases/tag/v0.1.0) is the latest release (it is as the time of this writing), the tag for that is `v0.1.0`. To determine the new version, follow [SemVer guidelines](https://semver.org). Most releases will increment the PATCH or MINOR version number. -## 1: Update the [Helm Charts Repository](https://github.com/kedacore/charts) - -The scope of the changes you'll need to make to the Helm chart vary from just changing the `appVersion` field in the [Chart.yaml file](https://github.com/kedacore/charts/blob/master/http-add-on/Chart.yaml) to changing the `HTTPScaledObject` CRD, adding new configuration, or even adding/changing components. - -You must, at a minimum, change that `appVersion` field to the new version number, however. - -If you have chosen `1.2.3`, for example, the `appVersion` field should read: - -```yaml -appVersion: 1.2.3 -``` - -See the below steps for updating the Helm chart: - -1. Submit a Pull Request (PR) to the [github.com/kedacore/charts](https://github.com/kedacore/charts) repository with your changes. Also ensure that you follow the [Shipping a new version](https://github.com/kedacore/charts/blob/master/CONTRIBUTING.md#shipping-a-new-version) guidelines in the charts documentation to complete the chart release. - - Your chart changes must go into the [http-add-on](https://github.com/kedacore/charts/tree/master/http-add-on) directory. The release artifact will go into the [docs](https://github.com/kedacore/charts/tree/master/docs) directory. - - Ensure that you add a link to the HTTP Addon repository and the new release number, so that PR reviewers are aware what the work relates to -2. Ensure that the Pull Request is reviewed and merged - - This may require collaboration with reviewers and appropriate changes - ## 2: Create a new GitHub release [Create a new release](https://github.com/kedacore/http-add-on/releases/new) on the GitHub releases page, using your new release number. @@ -40,20 +20,44 @@ The release description should be a short to medium length summary of what has c After you create the new release, automation in a GitHub action will build and deploy new container images. -## 3: Update the [Artifact Hub Manifest](https://github.com/kedacore/external-scalers/tree/master/artifacthub) +## 3: Submit a PR to the [Helm Charts Repository](https://github.com/kedacore/charts) -The HTTP Addon is listed on [ArtifactHub](https://artifacthub.io/packages/helm/kedacore/keda-add-ons-http), and its configuration is at [github.com/kedacore/external-scalers](https://github.com/kedacore/external-scalers). +The scope of the changes you'll need to make to the Helm chart vary, but the below list is the minimum set of fields to change: -If you're releasing a new version of the HTTP Addon, you'll need to update that repository. Submit a new pull request to that repository with includes a new directory under `artifacthub/add-ons-http` called the same thing as the release version. If you're releasing version `1.2.3`, the directory should be called that. To create that directory, do this: +- The `appVersion` field in `Chart.yaml`. If you've chosen `1.2.3` as the version number, this field should read: +```yaml +appVersion: 1.2.3 ``` -cp -R artifacthub/add-ons-http/ artifacthub/add-ons-http/ + +- The `images.tag` field in `values.yaml`. If you've chosen `1.2.3` as the version number, this field should read: + +```yaml +images: + # tag is the image tag to use for all images. + # for example, if the operator image is "myoperator" and + # tag is "mytag", the operator image used will be + # "myoperator:mytag". `latest` is used to indicate the latest + # stable release in the official images, `canary` is + # the build for the latest commit to the `main` branch, + # and you can target any other commit with `sha-` + tag: 1.2.3 ``` -Then, in the new `artifacthub-pkg.yml` file under the new directory, append a new list item under the `changes` section. +>Note: the container images generated by CI/CD in step 2 will have the same tag as the tag you created in the release, minus the `v` prefix. You can always see what images created by going to the container registry page for the [interceptor](https://github.com/orgs/kedacore/packages/container/package/http-add-on-interceptor), [operator](https://github.com/kedacore/http-add-on/pkgs/container/http-add-on-operator) or [scaler](https://github.com/kedacore/http-add-on/pkgs/container/http-add-on-scaler) -Once you're finished with these steps, submit a PR to the [github.com/kedacore/external-scalers](https://github.com/kedacore/external-scalers) repository with your changes. + +Once you've made changes to the chart, here's how to do submit the change to the charts repository: + +- Submit a Pull Request (PR) to the [github.com/kedacore/charts](https://github.com/kedacore/charts) repository with your changes. Also ensure that you follow the [Shipping a new version](https://github.com/kedacore/charts/blob/master/CONTRIBUTING.md#shipping-a-new-version) guidelines in the charts documentation to complete the chart release. +- Your chart changes must go into the [http-add-on](https://github.com/kedacore/charts/tree/master/http-add-on) directory. The release artifact will go into the [docs](https://github.com/kedacore/charts/tree/master/docs) directory. +- Ensure that you add a link to the HTTP Addon repository and the new release number, so that PR reviewers are aware what the work relates to +- Work with the maintainers of that repository to get the chart merged + +After your PR is merged, you've completed the release. Congratulations! You can optionally write a blog post about it; see the next section if you're interested. ## 4: Write a blog post on the documentation site (_optional_) -If you believe that your release is large enough to warrant a blog post on the [keda.sh/blog](https://keda.sh/blog/) site, please go to [github.com/kedacore/keda-docs](https://github.com/kedacore/keda-docs) and submit a new PR with a blog article about the release. Include in the article a longer summary of changes and any important information about the new functionality, bugfixes, or anything else appropriate. The post should go into the [content/blog](https://github.com/kedacore/keda-docs/tree/master/content/blog) directory. +If you believe that your release is large enough to warrant a blog post on the [keda.sh/blog](https://keda.sh/blog/) site, please go to [github.com/kedacore/keda-docs](https://github.com/kedacore/keda-docs) and submit a new PR with a blog article about the release. + +Include in the article a longer summary of changes and any important information about the new functionality, bugfixes, or anything else appropriate. The post should go into the [content/blog](https://github.com/kedacore/keda-docs/tree/master/content/blog) directory.