-
Notifications
You must be signed in to change notification settings - Fork 33
Proposal: Dry-run release before each full release #190
Comments
Also, I remain convinced of the merits of adding a step 5: To store a copy of the build scripts in a separate branch when the build script repos are unfrozen. This, or a change to enable us to run against a specific build script commit level. The reasoning for this is that is if we get a re-release, we have a stable copy of the build scripts we can use. Sure, we could leave the build script repos frozen for a while after the release, but for how long? And what do we do if the re-release is declared the day after we've unfrozen the repos and merged everyone's pet project? |
Agree, but I prefer to flip it: Tag/branch before release. Not having branches/tags is a problem for reproducibility. On top of that, we get re-releases that do not have the same feature set as the original. For example, 15.0.1+9.1 for macOS contains already the new trust store slated for release with the January updates. Locking down the repositories has further drawbacks:
|
We should ensure the build scripts are stable prior to branching/tagging, so perhaps we should do it after the dry-run has confirmed things are ok, but before the full release?
I raised these concerns at the retrospective (great minds), however I think the response to the former was that there's a special kind of lockdown that we didn't use previously, and that the use of this would be a more effective block against merges. I don't remember the details though, so perhaps someone else can speak more authoritatively on that. As for the latter drawback, I remember wanting to mention this, but I don't recall if I did so. In short, I absolutely agree that a "release" branch is the right way forwards. A tag in the master branch can be a good idea, but if we don't freeze the master branch, we'd lack the ability to add critical build script changes to later builds without cherry-picking. A separate branch allows us to double-commit key changes during the release (where needed), while keeping non-vital commits in the master branch. So, perhaps a release branch with tags? |
I find it odd that we need a dry-run despite having nightly builds. So if nightly builds aren't sufficient now, we should work towards getting there.
Yes. We need both. Releases should happen from tags. And we can have a per-release branch (something like |
I suspect the "Release" build option does have a few differences compared to "Nightly", but not many I would hope, but I agree assuming a "lockdown" is in place for PR changes, then Nightlies should be satisfactory. |
Release builds run more testing. Related: https://github.com/AdoptOpenJDK/openjdk-build/issues/2215 The more I think about it, the more I think that we could change the nightly schedule to run on the 5 weekdays, |
But yes, I agree that if there are other differences between nightly and release builds (besides the amount of testing they launch), those differences should be removed |
We do this at Adoptium now. |
As discussed in the October retrospective, this issue debates the pros, cons, and specifics of the following changes to the release process.
Once we have a consensus, if the community elects to go through with the change (or one like it), we will need to:
a) Update RELEASING.md to cover the "how" for each change.
b) Brief the community (call, slack message, blog post, a combination, etc) to inform them of the changes.
c) Modify the pipelines as needed to enable a dry-run that has all the features of a full release, sans publish.
d) Do a full dry-run, end-to-end, to test the entire process.
The floor is now open for discussion.
The text was updated successfully, but these errors were encountered: