Skip to content
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

[CI] Release Branch Builds Specs #565

Closed
mallardduck opened this issue Aug 23, 2024 · 2 comments
Closed

[CI] Release Branch Builds Specs #565

mallardduck opened this issue Aug 23, 2024 · 2 comments

Comments

@mallardduck
Copy link
Member

mallardduck commented Aug 23, 2024

Possible branches:

  • main - Our main dev branch, a default target for all changes; this represents the "next" version of BRO.
  • release/v[0-9]+.0 - Release specific branch correlated to a Rancher Minor version.
  • release/v[0-9]+.[0-9]+.[0-9]+ - A patch release specific branch; used rarely to create patch release of a specific minor.

Note: the release branches above represent a format, not specific branches. However, only the listed branches, and one's matching the patterns, will be used to generate head builds.

Release Tags

When a release is generated for each branch, the release will happen simultaneously on two tags. The first tag being a "static tag" matching the branch at that commit in time (i.e. {branchName}-{commitSHA}), the other a "rolling tag" matching the newest of that branch (i.e. head).

For the main branch we will generate a static tag of {branchName}-{commitSHA} and a rolling tag of head.
On each release branch, we will generate a static tag like: {branchName}-head-{commitSHA} and a rolling tag of {branchName}-head.

Any branches outside of these will be ignored and not have automatic releases built.

CI and Script changes

  1. Review the existing: scripts/version - Can this be re-used/re-factored for our needs?
  2. Add a new workflow just for head-releases; to not complicate the existing publish.yaml workflow.
  3. Consider adding a new script to handle "Find previous release tag on current branch matching expected format"
  4. Investigate best method to handle multiple tags being built (both goreleaser and container images)
  5. Consider if we care about auto-changelogs on these head releases
@mallardduck
Copy link
Member Author

This is a tracking issue to follow issue we noticed here: #562

This issue is follow up on this part:

I will document for us a roadmap to get our CI fully embracing the new branching strategy. That way we will have proper head builds for release branches and main - built with both a static tag and a rolling -head tag.

@mallardduck
Copy link
Member Author

mallardduck commented Aug 30, 2024

This will close out with the merge of these:

#569
#570
#571

Going to close this out as it was mainly a tool for myself and the team rather than a "real issue".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant