At the moment, our release pipeline is a little bit manual. It is that way because, for the most part, it's not that complicated and automating things with UE has been a larger pain-point than just manually getting this stuff done.
But... as our packaging target matrix keeps growing...
We should find ways to both automate our builds and our release process even though, historically, this has been difficult due to GHA's limitations and UE's poorly organized documentation.
The goal here is to end up with:
- Single branch called
dev (points to our backend's dev env) + release specific branches (that point to our production backend).
- Single button for releasing in GH that automatically: tags the commit, points to the whats new section of the version in the release notes, effectively releases and creates a reconcile PR back with
dev.
- Utility that sets up an "RC" branch by moving our dev code into it, swapping out version numbers in our UBeamInfo, swapping out environments and applying content snapshots to the production-env mirror of our ue-beam work org.
For hot fixes/patch releases:
- These are just new commits on top of the release branch.
- Back/forward porting is cherry picking.
- Releasing a hot fix also needs a single button --- different one though.
At the moment, our release pipeline is a little bit manual. It is that way because, for the most part, it's not that complicated and automating things with UE has been a larger pain-point than just manually getting this stuff done.
But... as our packaging target matrix keeps growing...
We should find ways to both automate our builds and our release process even though, historically, this has been difficult due to GHA's limitations and UE's poorly organized documentation.
The goal here is to end up with:
dev(points to our backend's dev env) + release specific branches (that point to our production backend).dev.For hot fixes/patch releases: