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
General Retrospective for July 2023 Releases #240
Comments
I noticed the new JDK21 ea-tag-triggered pipelines do not run all of the tests that used to be present in the JDK21 weekly pipelines. The missing test targets are:
After the release, can we add these tests to the JDK21 ea-tag-triggered pipelines? |
ci.adoptium.net logs me out several times a day. Is it possible to extend the login period? 12 hours or more would be great, but any increase would help. |
The release checklist template needs to be updated to consolidate the following checks, as the same action handles both.
Update: It appears that these checklist entries are factored incorrectly. See this table:
Right now we divide the tasks by row and use the same job link for both, when we should divide by column, with a different job link for each. |
The build-pipeline-generator jenkins job currently disables pipeline scheduling by setting the various nightly/weekly pipelines to only build on February 31st. I don't see why we don't leave the values as-is and simply disable the tick-box. |
The job "release-build-pipeline-generator" has been renamed to "release-pipeline-generator". We should update the release checklist template accordingly. Also, I recommend we add a note to all the jobs we use near releases, saying "If anyone changes these, please update the release checklist and any associated docs". Plus link. |
The release checklist's "Double check the relevent aqa-tests branch version" check could be clearer. Note to refine. Note: this may be clearer if the sub-checks were moved under the main check in "Prepare For Release". Another note: This entire section needs to be updated to reflect the current state of the release-pipeline-generator job, and I think the main check sentence could be re-worked for clarity. |
I think we'd be faster off the mark during releases if we had a clear, visible, @channel or @here message in the #release channel when the release builds are being built. Perhaps we could automate this as part of the release jobs? NOTE: We were working on this point when we concluded Part 1 of the Retrospective. |
Dry run builds prevented the JDK8 mirror from working properly so we didn't get
|
Look at recommendations for expressions for filenames in RELEASING.md vs the examples shown in the job (Particularly in terms of the sources tarball and inclusion of testimage files) |
Given that it's a long string that's easy to get wrong, I'd consider automating the strings. Maybe internalising the patterns and replacing that field with a drop-down menu to pick the platform? |
Releasing JDK8 on Aarch32 had a number of challenges.
|
The error message here has a typo in "branch".
|
Update release notes job link in checklist from |
Update https://adoptium.net/release_notes.html link in checklist as that page does not seem to exist (or need to find it on the website). |
Does anyone know why the SHA256 for the tarballs is stored in its own file, when the exact same sha can be found in the json? We have a lot of artifacts with every build, and I'm curious why we add 50% more just to duplicate data that's already available. Add this to the retrospective because, if there is no reason, perhaps we can strip it out and make the artifacts list easier to read. |
Looks like an installer Git check (possibly more than 1, looking now) was broken 2 months ago. It could never have compiled in its current state, and I think we should find these things out prior to release week. Advising that we run all the Installer repo's Git checks regularly, or at least as part of the pre-release work. |
The Slack messages produced by using the "/merge" command (used to request approval to merge PRs into release-frozen repos) can quickly fill the #release channel due to the bulky previews. Can we suppress the issue preview? Note: If we do, we may want to include the issue title in the text message, as the link doesn't allow at-a-glance issue recognition without the abstract. |
The Installer repo appears to be slow, which can be inconvenient. Not sure if all repos are slow right now, and I'm just more aware of it in Installer because I'm writing PRs for that repo, or if it's Installer-specific. Example: |
The ci server's job history limits seem excessive, and this has resulted in output being lost and files being deleted before both were needed. Would it be possible (in regard to text (limited), not files) to:
|
Actions from previous retrospectives
The items listed here will not be covered as there's a bajillion of them and it's over a year ago. Any issues still occurring can be raised at a future retrospective.- [ ] Add item into "week before" or "on release week" [checklist ](https://github.com/adoptium/adoptium/blob/main/.github/ISSUE_TEMPLATE/release-checklist.md)to explicitly list the aqaReference to be used for the release cycle so it can easily be copied into place when starting the pipelines. [Reply.](https://github.com//issues/155#issuecomment-1189533870) [Reply to reply](https://github.com//issues/155#issuecomment-1210451196) - [ ] \[We should run\] the 'fast to build' platforms together and separating the 'slow to build' platforms into a second run. [Reply.](https://github.com//issues/155#issuecomment-1190227099) - [ ] \[We should refresh JCK materials on each node before each release.\] - [ ] Put win32 in a second pipeline, since it ALWAYS runs before win64, so it takes all of the build and test resources away from a primary platform. [Issue raised.](https://github.com/https://github.com/adoptium/temurin-build/issues/3065) - [ ] The release tool needs tests to ensure that the expected set of artefacts are present after a release is made. In this round the [publish of Windows JRE 11 and 17](https://adoptium.slack.com/archives/CLCFNV2JG/p1658500701043129) resulted in no JRE MSI in the releases repository, which was only caught downstream by the https://github.com/adoptium/containers/pull/235. This should be caught much earlier. (SXA 2022/10/08 Yellow status for release tool job raised at https://github.com/adoptium/temurin-build/issues/3064) [Reply](https://github.com//issues/155#issuecomment-1210446166) - [ ] Can we lock the artifacts of the individual jdkXX- build jobs when RELEASE=true for the duration of the release cycle in case installe/signingr re-runs are required - [ ] For the "pre-release" test runs, look at step in the process to delete the jobs afterwards so they are not preserved, which takes space on the server and potentially causes confusion as to which are the release pipelines (Likely named differently but best to avoid any potential confusion) - [ ] Update the release template to include jdk8 alpine-linux (see https://github.com//issues/153#issuecomment-1193926916). - [ ] Encourage those involved in the releases to get any absences listed in the status document under the "Planned absences during the release cycle" section - [ ] Revisit jobs' timeout setting. One [extended job](https://ci.eclipse.org/temurin-compliance/job/Test_openjdk18_hs_extended.jck_arm_linux/10/consoleFull) is set to "Timeout set to expire in 2 days 2 hr" [Reply.](https://github.com//issues/155#issuecomment-1210456991) - [ ] For windows natives, can we install 2 versions, ie both 64 bit and 32 bit, as removing and putting them on a single machine, takes time ?, alternatively devote some machines to 64 bit / some to 32bit? [Reply.](https://github.com//issues/155#issuecomment-1210720306) - [ ] The x64 Mac JDK 17 TCK seems to be relatively slow as far as primary platforms go. [Reply](https://github.com//issues/155#issuecomment-1195604239) - [ ] Reminder comment to post-mortem Windows 64 bit vscode update issue that results in java -version error loading "msvcp140.dll" and "jvm.dll" - [ ] @xsa suggest: "standard" stuff ( updating installer jdk versions, disable nightly testing) may not need to require the comment or slack message with "approval to ship during lockdown". - [ ] Aqa-tests testenv.properties need to take care of jdk8 arm separately - [ ] Some of aqa test build jobs haven't been updated for a long time. When doing the rebuild, \[these paramerters are not consistent: USE_TESTENV_PROPERTIES, SDK_SOURCE, and CUSTOMIZED_SDK_URL_CREDENTIAL_ID\]. [Reply.](https://github.com//issues/155#issuecomment-1198153235) [Reply to reply.](https://github.com//issues/155#issuecomment-1198165554) - [ ] When ga is available, before trigger the pipeline job update corresponding lines in file testenv.properties of aqa-tests release branch. [Reply.](https://github.com//issues/155#issuecomment-1198165554) - [ ] Perhaps adjust order of columns in the status doc to indicate the "natural" order that things would be completed i.e. AQA-TCK-Publish-Installers-Containers instead of AQA-TCK-Installers-Containers-publish as it is currently. - [ ] Ensure that if someone is working on a platform and has a planned absence that someone else is in a position to take over and given appropriate hand-over, or we agree to defer until their return (i.e. we shouldn't have to block progress) - [ ] Understand how to handle "point releases" versioning given that the update that may only affect some platforms in terms of installers and container image creation. - [ ] Clarify process for "installer respins" that don't require rebuild (so are not point releases). [Comment link.](https://github.com//issues/155#issuecomment-1202250097) - [ ] Clarify some of the field descriptions on the create_installer_windows (maybe others) jobs. [Full comment.](https://github.com//issues/155#issuecomment-1204956422) - [ ] Understand how "jfrog" is working, i.e: when we cannot download/install rpm/deb from it. who to contact. how to escalate this. - [ ] possibly rename the "Containers" heading on the status table to avoid any ambiguity - [ ] Need more reliable "release publish" job, to ensure all the correct files get published https://github.com/adoptium/github-release-scripts/issues/85 - [ ] Nightly build smoke tests could be improved to validate build archives, eg.they all exist? verify the .sig? - [ ] release job can be made 'easier' to use (this was raised in past retros, still improvements to be made), even if its to add examples for all 3 primary platforms, or all 13 possible platforms for the regex. Main thing is to remove the chance of manual error. - [ ] Revisit the release checklist. [Full comment.](https://github.com//issues/155#issuecomment-1210578771) - [ ] Consider to make the release pipeline jobs produce and print a suitable prepopulated release job URL (with the right tag, upstream job name and ID, and correct regex) to reduce human error and make it more pleasant for those running the release job. - [ ] Scorecard for interest: https://github.com//issues/157 |
Actions from this retrospective
|
Creating a workflow in installers repo to automate the creation of the PR to update the spec file, and watch for when tarballs show up in the API, in a step towards full automation the publishing of Linux installers. |
A few notes on the JDK21 nightly builds during the release:
P.S. I'm holding off on adding the weekly tests (mentioned in my action here) until these ea builds are not running every day. |
@sxa The releaseTrigger_21ea was triggering and building and publishing the same ea tag every trigger/day.
|
To avoid bottlenecking solutions on lengthy retrospective debate, is it worth:
|
Consider creating the status issues in temurin-build instead of the adoptium repository to make it easier for all temurin committees who may be involved in releases to be able to update them. |
New general retrospective issue raised here. |
Summary
A retrospective for all efforts surrounding the titular releases.
All community members are welcome to contribute to the agenda via comments below.
This will be a virtual meeting after the release, with at least a week of notice in the #release Slack channel.
On the day of the meeting the agenda items will be iterated over, with a list of actions added in a comment at/near the end.
Invited: Everyone.
Time, Date, and URL
Time: 13:30 GMT, 08:30 EDT
Date: 2023/08/02
URL: https://eclipse.zoom.us/j/81872484707?pwd=dGl1QzcrTllWUkNWRUVGNzdYVUx4dz09
Details
Retrospective Owner Tasks (in order):
Actions
Actions from previous retrospective
Actions from this retrospective
The text was updated successfully, but these errors were encountered: