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

Adjust the releases process documentation. #10727

Merged

Conversation

VannTen
Copy link
Contributor

@VannTen VannTen commented Dec 18, 2023

What type of PR is this?
/kind documentation

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #10664

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

kubespray used as a collection will have the correct collection version

/assign @yankay

I also wonder if we should create an issue template for release, with a checklist for all the things in the list ?

@k8s-ci-robot k8s-ci-robot added the kind/documentation Categorizes issue or PR as related to documentation. label Dec 18, 2023
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Dec 18, 2023
@k8s-ci-robot k8s-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Dec 18, 2023
RELEASE.md Outdated
1. Create the release note with [Kubernetes Release Notes Generator](https://github.com/kubernetes/release/blob/master/cmd/release-notes/README.md). See the following `Release note creation` section for the details.
1. An approver creates [new release in GitHub](https://github.com/kubernetes-sigs/kubespray/releases/new) using a version and tag name like `vX.Y.Z` and attaching the release notes
1. (Only for major releases) An approver creates a release branch in the form `release-X.Y`
1. (Only for major releases) On the `master` branch: bump the version in `galaxy.yml` to the next expected major release (X.y.0 with y = Y + 1), commit and push.
Copy link
Member

@yankay yankay Dec 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HI @VannTen

The galaxy.yml should be changed just before

1. An approver creates [new release in GitHub](https://github.com/kubernetes-sigs/kubespray/releases/new) using a version and tag name like `vX.Y.Z` and attaching the release notes

So that the galaxy.yml is the same as with tag vX.Y.Z.

And it change be changed to :

1. Ensure the version in `galaxy.yml` is the next expected major release (X.y.0 with y = Y + 1); if not, please bump it.

Thanks :-)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I was reusing the Ansible guidelines ; the idea being that as soon as we cut a new release, the very next thing we do is increment the version number (aka galaxy.yml version should match KUBESPRAY_NEXT_VERSION).
I think that way it would be harder to release with the wrong version, since it's checked by CI during all the time.

Copy link
Member

@yankay yankay Dec 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks , I got it :-)

How do you think about changing the commit and push. to create a bump PR for it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a strong opinion on that part. The one downside I can see for that is that it kinda breaks the workflow of doing a release (since you have to make a PR and get a lgtm for what is a really trivial change).
It's not that bad ofc, so I can change it if you like


Ideally we would have automation for that (prow creating a PR for updating the version number whenever it sees a releases), but well, we don't have that currently ^.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also if we go with that we'd have to use KUBESPRAY_NEXT_VERSION instead of KUBEPRAY_VERSION in the check-galaxy script

Copy link
Member

@yankay yankay Dec 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea of automation is great, though we need to do it manually.👍
And the PR is better than a push because it can make the process more transparent :-)

I don't have a strong opinion on that part. The one downside I can see for that is that it kinda breaks the workflow of doing a release (since you have to make a PR and get a lgtm for what is a really trivial change). It's not that bad ofc, so I can change it if you like

Ideally we would have automation for that (prow creating a PR for updating the version number whenever it sees a releases), but well, we don't have that currently ^.

Copy link
Member

@yankay yankay Dec 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, if we go with that, we'd have to use KUBESPRAY_NEXT_VERSION instead of KUBEPRAY_VERSION in the check-galaxy script

I agree with you; the CI code needs to be changed :-)
BTW, does the KUBESPRAY_NEXT_VERSION, KUBESPRAY_VERSION,andgalaxy.yml` be changed together better?

Thank you

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah good point I'll add that to the docs as well 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hum
I'm trying to refactor the check-galaxy version to have it check the next expected version, unfortunately it's not that easy since we don't have access to the target MR branch (so can't distinguish between minor/major....) 🤔

galaxy.yml Outdated
@@ -2,7 +2,7 @@
namespace: kubernetes_sigs
description: Deploy a production ready Kubernetes cluster
name: kubespray
version: 2.23.1
version: 2.24.0
readme: README.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @VannTen

It maybe better to use another PR to modify.
Because the PR is for docs changes :-)

RELEASE.md Outdated
1. An approver creates [new release in GitHub](https://github.com/kubernetes-sigs/kubespray/releases/new) using a version and tag name like `vX.Y.Z` and attaching the release notes
1. (Only for major releases) An approver creates a release branch in the form `release-X.Y`
1. (Only for major releases) On the `master` branch: bump the version in `galaxy.yml` to the next expected major release (X.y.0 with y = Y + 1), commit and push.
1. On the `release-X.Y` branch: bump the version in `galaxy.yml` to the next expected minor release (X.Y.z with z = Z + 1), commit and push.
Copy link
Member

@yankay yankay Dec 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the galaxy.yml can be ensured just before the tag, the line can be removed :-)

@VannTen VannTen force-pushed the doc/galaxy_yml_releases branch 2 times, most recently from 23b088e to 046d804 Compare December 18, 2023 11:01
* markdown numbered lists: no need to manually maitain the numbers

* add instructions to update the collection version roughly following
  Ansible collection maintenance guidelines
  (https://docs.ansible.com/ansible/latest/community/collection_contributors/collection_release_with_branches.html)

* Distinguish major from minor releases in the release process

* Bump current galaxy.yml version to the next release
@yankay
Copy link
Member

yankay commented Jan 11, 2024

Thanks @VannTen
/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 11, 2024
@VannTen
Copy link
Contributor Author

VannTen commented Jan 11, 2024

/cc @floryut
wdyt ?

@VannTen
Copy link
Contributor Author

VannTen commented Jan 11, 2024

/cc @MrFreezeex
as well

@MrFreezeex
Copy link
Member

I'm not very familiar with the release process so I will let people that may do it check TBH.

@yankay
Copy link
Member

yankay commented Jan 17, 2024

HI @floryut @oomichi

Would you please help to review the changes :-)
Thank you

Copy link
Member

@floryut floryut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HI @floryut @oomichi

Would you please help to review the changes :-)
Thank you

All good for me 👍
Thank you @VannTen

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: floryut, VannTen, yankay

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@floryut
Copy link
Member

floryut commented Jan 22, 2024

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 22, 2024
@k8s-ci-robot k8s-ci-robot merged commit 4e52fb7 into kubernetes-sigs:master Jan 22, 2024
64 checks passed
pedro-peter pushed a commit to pedro-peter/kubespray that referenced this pull request May 8, 2024
* markdown numbered lists: no need to manually maitain the numbers

* add instructions to update the collection version roughly following
  Ansible collection maintenance guidelines
  (https://docs.ansible.com/ansible/latest/community/collection_contributors/collection_release_with_branches.html)

* Distinguish major from minor releases in the release process

* Bump current galaxy.yml version to the next release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/documentation Categorizes issue or PR as related to documentation. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

galaxy.yml seems to always contain the previous release version number
5 participants