ci: run checks and publish on release branches - #131
Merged
Conversation
Hotfix releases are cut on release/* branches, but both workflows are scoped to main, so a PR into a release branch runs no lint or tests and merging it publishes nothing. Unlike main, release/* is not covered by a ruleset here, so the missing checks do not block the merge. They are simply absent, which is worse: a hotfix can land unverified.
ionut-mihalache-uipath
approved these changes
Sep 1, 2026
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.
Scopes both workflows to
release/**in addition tomain.# ci.yml push: branches: - main + - 'release/**' paths-ignore: - pyproject.toml pull_request: branches: - main + - 'release/**' # cd.yml push: branches: - main + - 'release/**' paths: - pyproject.tomlWhy
Hotfix releases are cut on
release/*branches, per the open-source hotfix procedure, but both workflows are scoped tomainonly.Checks never run.
ci.ymlfires only for PRs targetingmain, so a PR into a release branch gets no lint and no tests. Unlikemain,release/*is not covered by a ruleset in this repo, so the missing checks do not block the merge — they are simply absent. That is the worse failure mode of the two: a hotfix can land with nothing verifying it. #130 merged that way; it was verified by a local run rather than by CI.Publishing never happens.
cd.ymlfires only on push tomain, so merging a hotfix into its release branch publishes nothing and every release needs a manualworkflow_dispatch. A dispatch also runs the workflow file from the dispatched ref, so a branch cut from an older commit runs an older CI definition thanmain's.Is auto-publishing from a release branch safe
The
pypienvironment has no deployment branch policy or protection rules, so a release ref is already permitted to publish, and the trigger stays filtered topaths: pyproject.toml, so only a version or dependency change starts a run.Two things worth deciding alongside this:
skip-existing, so a push touchingpyproject.tomlwithout a version bump fails at upload rather than no-op. Happy to add it.release/*has no ruleset here, so after this change a direct push to a release branch could publish without review. If you want the same guaranteemainhas, the ruleset should be extended torefs/heads/release/*as well. Say the word and I will add it to this PR.