o3de / sig-release

8 stars 20 forks source link

23.05: Snap Package and Linux and Windows Hotfix Release #205

Closed vincent6767 closed 1 year ago

vincent6767 commented 1 year ago
### Tasks
- [x] @Ulrick28 Release the snap package.
- [x] Identify the PR's for the hotfix (https://github.com/o3de/o3de/pull/15906, https://github.com/o3de/o3de/pull/16395, https://github.com/o3de/o3de/pull/16197, https://github.com/o3de/o3de/pull/16372, and https://github.com/o3de/o3de/pull/16094)
- [x] @amzn-changml Create a branch from main 23.05. This branch should be hotfix/23.05.1
- [x] @amzn-changml Merge cherry picked PR's to branch
- [x] @amzn-changml Build the branch in AR
- [x] @amzn-changml Create installer builds for Windows, Debian, and Snap.
- [x] @Ulrick28 Test branch. We can perform testing internally on my team overnight, however would be good to some external testing as well particularly from RedHat engineers who found the primary issue.
- [x] @brianherrera If all goes well, integrate hotfix branch to mainline, with appropriate tags. Push new LFS objects to the release tag
- [x] @amzn-changml Update the o3debinaries.org website with the new version
- [x] @amzn-changml Push new snap package to the snap store
- [x] @brianherrera Delete hotfix branch
- [x] Document reason for hotfix and changes
- [x] @Ulrick28 @tonybalandiuk @vincent6767 Writes the hotfix release notes.
- [x] @tonybalandiuk @vincent6767 Inform marketing team about the hotfix.
- [x] @vincent6767 to create another issue for documenting the hotfix release process.

Notes

  1. Discussion thread: https://discord.com/channels/805939474655346758/1126207780475379832/1126518697939451914
vincent6767 commented 1 year ago

@tonybalandiuk Are there any docs that explain the point release process?

@Ulrick28 I assume you have got anything you need to release the snap package on Monday?

BTW, @Ulrick28 Is this snap package related to this https://github.com/o3de/sig-release/issues/178#issuecomment-1540456710?

Ulrick28 commented 1 year ago

Yes, the snap package is related to the comment, and we have decided to release the snap package once it is approved, instead of waiting for the hotfix. The primary PR for the hotfix will be https://github.com/o3de/o3de/pull/16197. We will need to decide if there are other crash fixes we will want to include.

vincent6767 commented 1 year ago

Snap package was released: https://discord.com/channels/805939474655346758/816043864858951710/1130230226882928732

tonybalandiuk commented 1 year ago

@vincent6767 we do not have a minor release (aka point release) process documented. I, personally, have not done a minor release. The last minor release was here https://github.com/o3de/o3de/projects/8 - the major release project tasks were actually taken from this project. In almost all ways a minor release should follow the same steps as a major release.

A few comments about potentially doing a minor release 1) We don't have the stabilization branch anymore from the 23.05. We need to sync with sig-build to see if they can stand up a branch based on the 23.05 release tag. 2) My point of view is that we would do everything we do for a major release. The stabilization branch would have less code to stabilize - that's the only difference I expect. 3) We still need a release manager and need to sort out testing before we can move forward on the minor release.

Ulrick28 commented 1 year ago

Hi! This is more of a hotfix than a point release. The intent of a hotfix is to get the fix into mainline as quickly as possible, since mainline is currently broken. Vincent, do you want me to create a separate issue detailing the steps for the hotfix, or just add a comment here and you can then modify the steps in this issue?

I found the instructions for hotfixes - "Hotfixes are emergency updates to fix a specific set of bugs deemed as either critical security issues or blocking basic utilization of the project. These also result in an incremental version number update (ie 22.11.0 would become 22.11.1) If there are hotfixes to be applied at a later date, an engineer can branch a tagged Main branch release to a Hotfix branch. This developer would then apply fixes to the HotFix branch. Once completed, fixes will be merged to the Main branch as well as the Dev branch. Merged Main branch would then be tagged with a new release "hotfix" number. When merging is complete, the Hotfix branch will be deleted as at that point no further changes will be done to that branch and it is identical to newly tagged Main branch."

The steps are:

  1. Identify the PR's for the hotfix (https://github.com/o3de/o3de/pull/16395 and https://github.com/o3de/o3de/pull/16197)
  2. Create a branch from main 23.05. This branch should be 23.05.1
  3. Merge cherry picked PR's to branch
  4. Create installer builds for Windows, Debian, and Snap.
  5. Test branch. We can perform testing internally on my team overnight, however would be good to some external testing as well. Particularly from RedHat engineers who found the primary issue.
  6. Document reason for hotfix and changes
  7. If all goes well, integrate hotfix branch to mainline, with appropriate tags
  8. Delete hotfix branch
vincent6767 commented 1 year ago

Hi @Ulrick28 Sounds good to me. Let's use this ticket and I'll update the steps in the issue

vincent6767 commented 1 year ago

@Ulrick28 I have updated the issue with the steps you mentioned. Can you help assigns the person who is responsible for each step? Feel free to edit the above checklist as you see fit. Thanks!

amzn-changml commented 1 year ago

I would also add this PR once it's merged, as it incorporates all the non-code changes needed to make the 23.05 snap :https://github.com/o3de/o3de/pull/16372

vincent6767 commented 1 year ago

Sure thanks @amzn-changml I added this PR to the checklist.

tonybalandiuk commented 1 year ago

@Ulrick28 please make sure to get names next to each task so we have a strong artifact

amzn-changml commented 1 year ago

Hotfix branch created and PRs cherry-picked: https://github.com/o3de/o3de/compare/main...hotfix/23.05.1

amzn-changml commented 1 year ago

For https://github.com/o3de/o3de/pull/16197 (editor crash fixes), there is a loose dependency to the model asset tags feature but it was not included in the 2305 release.

I've added this commit to the hotfix that removes that dependency: https://github.com/o3de/o3de/commit/b7b9e1e96f29556d50ea8ec013364c428c21014a

amzn-changml commented 1 year ago

The hotfix branch is now being built in AR for validation: https://jenkins.build.o3de.org/view/O3DE/job/O3DE/job/hotfix%252F23.05.1/2/

amzn-changml commented 1 year ago

There's another commit we need to cherry-pick, which defines the build node for the snap and deb package on Ubuntu 20 (it was set to Ubuntu 22 for 2305): https://github.com/o3de/o3de/pull/16094.

This does not affect AR, but it does when we create the installers. I'll add that to the list.

amzn-changml commented 1 year ago

AR for the hotfix branch is green. I'm building the installer packages as we speak. Once done, they will be located here:

Windows - https://o3debinaries.org/hotfix-23.05.1/Latest/Windows/o3de_installer.exe Deb - https://o3debinaries.org/hotfix-23.05.1/Latest/Linux/O3DE_latest.deb Snap - https://o3debinaries.org/23.05.1/Linux/o3de_23.05.1_amd64.snap

Ulrick28 commented 1 year ago

I have put in the request for QA.

brianherrera commented 1 year ago

After testing is done, I'll start the process to merge the hotfix branch to main and create the release tag.

Ulrick28 commented 1 year ago

Testing is complete, no new issues found. We should start the merge and release tag.

brianherrera commented 1 year ago

PR to merge hotfix branch to main: https://github.com/o3de/o3de/pull/16423

lemonade-dm commented 1 year ago

For the hotfix release, we should also update the "engine_version" field in the main branch engine.json file.

The version listed is 1.2.0 and should be updated to 1.2.1 per the RFC for the Engine, Project and Gem Versions

amzn-changml commented 1 year ago

For the hotfix release, we should also update the "engine_version" field in the main branch engine.json file.

The version listed is 1.2.0 and should be updated to 1.2.1 per the RFC for the Engine, Project and Gem Versions

I've updated the engine.json version to 1.2.1. Will also start the re-building process for the install packages

amzn-changml commented 1 year ago

We need another change related to the snap packaging: https://github.com/o3de/o3de/pull/15906. This fixes the snap for Ubuntu20. This also doesn't affect AR, but the snap will be rebuilt (which is already starting)

amzn-changml commented 1 year ago

PR for changes to o3debinaries.org queued: https://github.com/o3de/o3debinaries.org/pull/8

amzn-changml commented 1 year ago

Installer binaries updated. Snap store update is going through Canonical AR

brianherrera commented 1 year ago

PR merged to main. LFS objects pushed to release tag.

amzn-changml commented 1 year ago

o3debinaries.org and snap store page updated

amzn-changml commented 1 year ago

Preliminary changelog:

-- Removed PyYAML from the python dependencies: https://github.com/o3de/o3de/pull/16395

-- Fixes for first time editor crashes: https://github.com/o3de/o3de/pull/16197

-- Updates to Snap package dependancies: https://github.com/o3de/o3de/pull/15906, https://github.com/o3de/o3de/pull/16372, https://github.com/o3de/o3de/pull/16094

-- Bump Engine version to 1.2.1

vincent6767 commented 1 year ago

Thanks, everyone! I believe the next step is to inform marketing about the hotfix release. Can you confirm? @tonybalandiuk @Ulrick28

tonybalandiuk commented 1 year ago

done @vincent6767 https://discord.com/channels/805939474655346758/826862580618100786/1133884778060456067

vincent6767 commented 1 year ago

@tonybalandiuk @Ulrick28 For the release notes, it seems we can just use what Michael has provided and share it with the marketing team. Thoughts? https://github.com/o3de/sig-release/issues/205#issuecomment-1646340787

Updates

  1. There is no response from the marketing team. I wonder whether they still need hotfix release notes or not.
vincent6767 commented 1 year ago

O3DE Hotfix Release Notes 23.05.1

This hotfix addresses the following issues:


Let me know whether this is accurate @amzn-changml @tonybalandiuk @Ulrick28 If no concerns, I'll share this with the marketing team next week.

amzn-changml commented 1 year ago

Just a suggestion for clarity:

Removed PyYAML from the Python dependencies to prevent Python initialization failures during build and installation. PyYAML was an unused dependency that caused conflicts conflicted with a downstream Cython dependency. (https://github.com/o3de/o3de/pull/16395)

Let me know whether this is accurate @amzn-changml @tonybalandiuk @Ulrick28 If no concerns, I'll share this with the marketing team next week.

Other than that, this looks reasonable and accurate

tonybalandiuk commented 1 year ago

@vincent6767 see above ^

vincent6767 commented 1 year ago

@amzn-changml Thanks! I updated the hotfix release notes.

vincent6767 commented 1 year ago

All tasks are done. Thanks to everyone who is helping release the hotfix! I'll close this GHI in two days. Let me know if you have any concerns!