|
2 | 2 |
|
3 | 3 | #### How and when the operator version is changed |
4 | 4 |
|
5 | | -The single source of truth is the version number in |
6 | | -[Chart.yaml](https://github.com/ydb-platform/ydb-kubernetes-operator/blob/master/deploy/ydb-operator/Chart.yaml#L18) |
7 | | -file. |
8 | | - |
9 | | -It is incremented according to semver practices. Essentially, it is incremented every |
10 | | -time any change is made into either chart or the operator code. |
11 | | - |
12 | | -For the contrast, changing some details of Github workflows or rewriting the docs |
13 | | -does not initiate a new release. |
14 | | - |
15 | | -#### What the CI does |
16 | | - |
17 | | -When you increment the version in `Chart.yaml` and your PR is merged into master, tag |
18 | | -is automatically extracted from the Chart like this: |
19 | | - |
20 | | -``` |
21 | | -"version: 0.4.22" -> "0.4.22" |
22 | | -``` |
23 | | - |
24 | | -If the version is new (no previous commit was tagged with this version), then: |
25 | | - |
26 | | -- this merge commit gets tagged with version extracted from `Chart.yaml`; |
27 | | -- new docker image is built and uploaded to `cr.yandex/yc/ydb-kubernetes-operator`; |
28 | | -- new chart version is uploaded to https://charts.ydb.tech. |
29 | | - |
30 | | -#### What if I forget to bump up the chart version? |
31 | | - |
32 | | -Then these changes won't get automatically tagged, new version won't be built and |
33 | | -uploaded and you most likely will notice it immediately when you'll want to use an |
34 | | -updated version. Then you make another PR with a chart version bump and get your |
35 | | -changes rebuilt. |
| 5 | +The single source of truth is the changelog. |
| 6 | + |
| 7 | +Currently, version is updated when a developer decides to release a new version by manually invoking |
| 8 | +`create-release-pr` workflow in Github Actions: |
| 9 | + |
| 10 | +- invoke `create-release-pr` workflow |
| 11 | +- `changie` tool automatically bumps the version and generates an updated CHANGELOG.md |
| 12 | +- if a generated `CHANGELOG.md` looks okay, just merge it |
| 13 | +- the `upload-artifacts` workflow will: |
| 14 | + - substitute the latest version in `Chart.yaml` |
| 15 | + - build artifacts (docker image and helm chart) and upload them to all configured registries |
| 16 | + - create a new Github release |
0 commit comments