-
Notifications
You must be signed in to change notification settings - Fork 459
ci: [NGOv2.X] Automation of NGO releases #3602
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
michalChrobot
commented
Aug 15, 2025
Tools/scripts/ReleaseAutomation/triggerYamatoJobsForNetcodeReleaseValidation.py
Outdated
Show resolved
Hide resolved
EmandM
approved these changes
Sep 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had the tiiiniest nit-pick. Definitely not a blocker. This looks great!
michalChrobot
added a commit
that referenced
this pull request
Sep 12, 2025
## Jira ticket Same as main PR ## Documentation Same as main PR ## Testing & QA Same as main PR ## Backports This is a backport of #3602 the same description should apply. The only difference is the base branch (develop instead of develop-2.0.0)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose of this PR
This PR automates the releases of NGO package (which can be extended for other packages since it's quite modular). The job will operate on the branch from which it will be triggered and by default it will be on the
develop
branch (job trigger).For more background note that Netcode team sprint last 4 weeks, starting and ending on Wednesday and our goal is to kickstart the release process after last full week of the sprint and preferably release until next Wednesday (end of the sprint). So the goal would be to run everything on Saturday (after the week concluded) and have everything ready from Monday morning to Playtest/investigate failures.
As a separate part of this automation, as per THIS PR we are able to trigger builds of our samples so those will also be triggered on the weekend to be ready for playtesting on Monday.
Now with this in mind the process will work in the following way:
Before looking at the next steps, please note that as per THIS PR the package version of Nshould always correspond to the current state of the package.
all_promotion_related_jobs_promotiontrigger
job. In that way when we will set-up packageworks release stream on Monday morning we will already have the results from this job and we can address any potential failures.develop
but for the sake of playtesting I used a test branch). The goal with changelog here is we want to avoid changelog divergence if release will take longer then expected. The script will clean the empty sections, assign correct release version and date and then add back the [Unreleased] section template for the purpose of next entries.The goal with package version is that we want to indicate that now the package reflects further state (next patch). After this the job will commit this to the branch.
I created Netcode-Team-Bot with appropriate tokens and marked committer to point to the bot (when for example making a direct commit to

develop
with changelog and package version update)The bot will make commits like

Jira ticket
https://jira.unity3d.com/browse/MTT-12841
Documentation
After this gets merged I will add approperiate description of Netcode release process in https://docs.google.com/document/d/16g9B5jxXeV0zG44Fhax-6Md_gtLoqGVthKQ7LkDvdqM/edit?tab=t.0#heading=h.t1guku6agyev
Testing & QA
Since this automation runs on the same branch on which it's triggered (and just because of job trigger it will be
develop-2.0.0
branch) I tested it locally (each script) and entire automation was tested ontesting-automated-netcode-releases
branch, the effects of which you can see as follows (note that instead ofdevelop-2.0.0
I just used local branch):release/2.5.1
branch was created with proper initial setup (LINK), see latest commits theredevelop-2.0.0
branch (replaced for testing withtesting-automated-netcode-releases
). Notice that this simulates what will happen on develop branch after this script runs. (LINK)Things to note
Backports
It's backported to #3603