[IGNORE]: automate release preparation#382
Conversation
|
CI run for ref: vprashar2929#1 |
| (`spec.version`, `spec.replaces`) | ||
| - CRDs and jsonnet generated files (if CRDs changed) | ||
| - `bundle.yaml` (root installer manifest) | ||
| - If CHANGELOG updates are needed, run `make generate-changelog` locally and |
There was a problem hiding this comment.
@jgbernalp @slashpai The current workflow doesn't run make generate-changelog Just want to confirm should we include it as part of the workflow in which workflow runs make generate-changelog and then we edit the PR to cleanup UNKNOWN entries before we merge it or do we want to do it manually after the PR is merged to main?
There was a problem hiding this comment.
I think it makes sense to let the workflow generate the changelog and clean it up in the PR.
There was a problem hiding this comment.
Agreed, I will make the change and we can review the changelog in the release PR.
|
Just to confirm, we are changing the flow so we don't have to create a release/vX.Y branch and we just review the PR as all the generation, changelog and tag can be done from the CI. Is that correct? |
6ce7c46 to
694f520
Compare
Correct so we no longer need to create a release/vX.Y branch for release preparation. The release workflow handles updating the Currently I didn't automate tag creation so that is done manually. Would you prefer keeping it manual or should we automate that as well? |
694f520 to
7daec69
Compare
| inputs: | ||
| tag: | ||
| description: "New version to release, e.g. 0.4.0 (no 'v' prefix)" | ||
| required: true |
There was a problem hiding this comment.
can we add validation on these format to avoid errors?
| permissions: | ||
| contents: write | ||
| pull-requests: write | ||
| steps: |
There was a problem hiding this comment.
| steps: | |
| concurrency: | |
| group: release-preparation | |
| cancel-in-progress: true | |
| steps: |
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
| with: | ||
| fetch-depth: 0 |
There was a problem hiding this comment.
does the changelog depend on having the commits?
There was a problem hiding this comment.
yes I think we need it
7daec69 to
d454305
Compare
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: write | ||
| pull-requests: write |
There was a problem hiding this comment.
why we need this permission? its an elevated permission IIUC
There was a problem hiding this comment.
Nice catch! 🙇 yes we don't need them. Pushed the change for that
d454305 to
4e2f723
Compare
This commit adds a `.github/workflows/release.yaml` workflow that prepares a release by: - Writing a new version to `VERSION` file - Running `make bundle VERSION_REPLACED=<prev>` to regenerate the OLM bundle with the correct `spec.replaces` chain - Running `make build-installer` to regenerate the `bundle.yaml` - Opening a PR against `main` with the changes The commit also updates the existing `RELEASE.md` with the new flow Signed-off-by: vprashar2929 <vibhu.sharma2929@gmail.com>
4e2f723 to
30b3f10
Compare
| @@ -1,83 +1,127 @@ | |||
| # Perses Operator Release | |||
|
|
|||
| ## 1. Prepare your release | |||
There was a problem hiding this comment.
Do we need to remove all these steps? These are independent of operator hub, I think like helm chart section we should have a section for operatorhub instead
There was a problem hiding this comment.
Yes these are all handled by the workflow now
|
ok I realized this is different PR :) Also a couple of questions:
|
The workflow just runs make generate-changelog as how we do currently in other workflow. Once the PR is created we need to review the generated changelog and then push the corrected change back to the generated PR: https://github.com/perses/perses-operator/pull/382/changes#diff-2b1b69303b927a484e02c7fad9fc87d0d3ff0dc22ae1da0ecd0dc935d922a23cR62 |
Yep I tested on my fork. Here is the workflow run: https://github.com/vprashar2929/perses-operator/actions/runs/24709425948 along with PR generated: vprashar2929#1
|
Description
This commit adds a
.github/workflows/release.yamlworkflow that prepares a release by:VERSIONfilemake bundle VERSION_REPLACED=<prev>to regenerate the OLM bundle with the correctspec.replaceschainmake build-installerto regenerate thebundle.yamlmainwith the changesThe commit also updates the existing
RELEASE.mdwith the new flowCloses: #ISSUE-NUMBER
Type of change
FEATURE(non-breaking change which adds functionality)ENHANCEMENT(non-breaking change which improves existing functionality)BUGFIX(non-breaking change which fixes an issue)BREAKINGCHANGE(fix or feature that would cause existing functionality to not work as expected)DOC(documentation only)IGNORE(tooling, build system, CI, etc.)Verification
Checklist