-
Notifications
You must be signed in to change notification settings - Fork 34
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
Release process/workflow #1150
base: release-process-enhancement
Are you sure you want to change the base?
Release process/workflow #1150
Conversation
Before jumpling to the review of the implementation:
What are your thoughts? |
The release script has being design to use a toml file for the version and is to be run locally. Signed-off-by: Jim Fitzpatrick <[email protected]>
1ed3d58
to
5e68f1a
Compare
After the call today the implementation is changing and some of points to address your comments are not as valid. The breaking of interoperability with other repos. So what if it does. Prior to the call today, these scripts were being designed to run in GitHub workflows. There should be no other repos using the tools. The argument over requiring specific version for the different repos, ya I can see that, but that problem also exists today. I don't add the project bin to my PATH every time I enter the project. So if I call any of those tools out side the make targets it is highly likely the version don't match. Even if the I was to use one in the project bin there is no guarantee that version would be the correct version. This has happened to me more than once were a version of a tool was updated and the only way I found out was by a failing build. Think we high to much of the complicity around tooling in the make targets. I do like the idea of nix for the management of tools, but I think it better to warn if a version we don't expect is being used. On the Golang dependency, that is a hard one. Someone doing a release that is all in the GitHub workflows, they should not need it locally. We can agree on that. When I don't think we will agree is on the perspective of engineering. You say we all have, but that is not true. Last week I found my self using a machine that didn't have Golang install. In fairness, I was only wanting to explore the operator running, and do much edits. But I couldn't run |
Remove the reference to bundles from the format. It is suspected that the released version of the operator will never be different from the bundles. There is also an overlap with helm which does not have the concept of bundles. Signed-off-by: Jim Fitzpatrick <[email protected]>
The release workflow has being modified to only be triggered when a pull request is merged to branches that match `release-vX.Y`. The workflow will only make the GitHub release objects. Signed-off-by: Jim Fitzpatrick <[email protected]>
Set up a make target for verifying that the prepare-release target was ran, and there is no uncommitted changes. There has also being a workflow set up to run this check when a Pull Request is made against the release branches. Signed-off-by: Jim Fitzpatrick <[email protected]>
Slight change to the form that is being used. Signed-off-by: Jim Fitzpatrick <[email protected]>
This PR targets the uses of a
release.toml
file for releases.There are a number of changes that have being done in the hope to simplify future work.
The first main change is the adding of a
release.toml
file for the release. Below is a sample of what this file will look like. The file will be saved at the root of the project.The next major change is moving the moving the release code out of the Makefiles and into self contained scripts. Every thing from the tools required to validation. This is an attempt to allow the make the steps required to do a release simpler.
Validation
To validation that the process is still working as expected.
release.toml
file in the root of the project.The expected changes are as follows
createdAT
timestamp being differentmake/release.mk
file being missing.