Migrate to cava-devops centralised CI/CD#28
Draft
nicoloesch wants to merge 1 commit into
Draft
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
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.
Before merging
Step 1 - Review the code
Review all file changes in this PR while it is still in draft state. Confirm the deleted workflows, new workflow files,
pyproject.tomlchanges, and template additions look correct before proceeding.Step 2 - Set up labels
Go to
github.com/AustralianCancerDataNetwork/omop-graph/labels. Delete every existing label, then create these five in order:breakingB60205feature0E8A16fix0075CAdependencies6F42C1choreFEF2C0choremust exist before step 3.Step 3 - Apply the
chorelabel to this PRStep 4 - Update merge settings
Settings > General > Pull Requests:
Step 5 - Update branch protection ruleset on
mainSettings > Rules > Rulesets. Edit or create a ruleset targeting
main:label-gate / checkbuild-test / testThese check names match the job IDs in
ci.yml. If they do not appear in the autocomplete dropdown, type them in manually.Step 6 - Set up the
pypideployment environmentIf the
pypienvironment does not exist: Settings > Environments > New environment, name itpypi, no protection rules needed. If it already exists, confirm the name is exactlypypi.Step 7 - Set up PyPI trusted publisher
On
pypi.org/manage/account/publishing:AustralianCancerDataNetwork, repositoryomop-graph, workflow filenamepublish.yml, environmentpypi.python-publish.yml): edit it and change the workflow filename topublish.yml. Confirm the environment name ispypi.Step 8 - Mark PR ready for review
Click "Ready for review". This triggers
ci.yml.Step 9 - Confirm all checks pass
label-gate / checkbuild-test / testDo not bypass with admin if either fails, diagnose first.
Step 10 - Merge
Squash-merge. Leave the extended description box empty.
After merging
Step 1 - Verify
merge.ymlranActions tab:
Release Updateworkflow should show two green jobs.Step 2 - Check the release draft
Go to Releases. The draft body will be empty (chore) and the suggested version will be the next patch after
v1.3.0, sov1.3.1. Leave unpublished until the next feature or fix PR.Changes in this PR
Deleted:
release.yml,lint-pr.yml,python-publish.yml,.releaserc.jsonAdded:
ci.yml,merge.yml,publish.yml,.github/release-drafter.yml, issue/PR templatesUpdated:
docs.ymltrigger topush: tags: ['v*'],pyproject.tomltohatch-vcsFrozen:
CHANGELOG.md(header pointing to GitHub Releases)Fixes Migrate to cava-devops centralised CI/CD #14
Checklist
choreuv run pytest -q)uv run ruff check .)