Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating the release process document with correct order of operations #327

Merged
merged 3 commits into from
Nov 19, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 32 additions & 28 deletions RELEASE-PROCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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/<previous version> artifacthub/add-ons-http/<new version>

- 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-<GIT_SHA[0:7]>`
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.