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

Change CI release logic #452

Merged
merged 1 commit into from
Oct 16, 2023
Merged

Conversation

jgiannuzzi
Copy link
Member

@jgiannuzzi jgiannuzzi commented Oct 13, 2023

This PR changes the CI release logic in the following way:

  • add a workflow create.yml to create release branches and tags in a controlled manner, using a GitHub app that will have exceptions in the rulesets
  • change the release.yml workflow to be directly called by the main CI workflow
  • change release.yml to not validate the ref anymore, but instead rely on rulesets and environments
  • add support for prereleases
  • document workflow in docs/maintainer.md

The following tasks need to be completed before merging this PR (more information can be found in the documentation):

  • create and install a new GitHub app
  • add its credentials to a new create-release environment that can only be accessed by the main branch
  • add the required rulesets — this has to be done before the next step!
  • change the release environment to also allow v* tag patterns (and keep the existing main branch)

Examples on a repo that has been setup as described and as "upstream" (so not a fork, but in this case a copy):

Note

Many of these links may require to be reloaded before they display the actual log line I want to show — this seems to be a GitHub bug at the time of writing

* add a workflow `create.yml` to create release branches and tags in a
  controlled manner, using a GitHub app that will have exceptions in the
  rulesets
* change the `release.yml` workflow to be directly called by the main CI
  workflow
* change `release.yml` to not validate the ref anymore, but instead rely on
  rulesets and environments
* add support for prereleases
* document workflow in `docs/maintainer.md`
Copy link
Contributor

@suprjinx suprjinx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link

@dave-gantenbein dave-gantenbein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hardly feel qualified with this level of github-fu, lets push it and see if it breaks, with rollback being easy enough.

@jgiannuzzi jgiannuzzi merged commit f7b77e7 into G-Research:main Oct 16, 2023
20 checks passed
@jgiannuzzi jgiannuzzi deleted the release-ci branch October 16, 2023 20:22
jgiannuzzi added a commit to jgiannuzzi/fasttrackml that referenced this pull request Oct 16, 2023
* add a workflow `create.yml` to create release branches and tags in a
controlled manner, using a GitHub app that will have exceptions in the
rulesets
* change the `release.yml` workflow to be directly called by the main CI
workflow
* change `release.yml` to not validate the ref anymore, but instead rely
on rulesets and environments
* add support for prereleases
* document workflow in `docs/maintainer.md`
suprjinx pushed a commit to suprjinx/fasttrackml that referenced this pull request Oct 23, 2023
* add a workflow `create.yml` to create release branches and tags in a
controlled manner, using a GitHub app that will have exceptions in the
rulesets
* change the `release.yml` workflow to be directly called by the main CI
workflow
* change `release.yml` to not validate the ref anymore, but instead rely
on rulesets and environments
* add support for prereleases
* document workflow in `docs/maintainer.md`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Change CI and release process to use release branches
3 participants