Skip to content

ci: trigger CI on release/* branches#661

Merged
torlando-tech merged 1 commit intorelease/v0.9.xfrom
ci/add-release-branch-triggers-v0.9.x
Mar 11, 2026
Merged

ci: trigger CI on release/* branches#661
torlando-tech merged 1 commit intorelease/v0.9.xfrom
ci/add-release-branch-triggers-v0.9.x

Conversation

@torlando-tech
Copy link
Copy Markdown
Owner

Summary

  • CI workflow branch filters (v[0-9].[0-9]+.x) didn't match release/v0.9.x — the release/ prefix was missing from the pattern
  • PRs targeting release branches had no lint, compile, or test checks, allowing broken code to be merged (see v0.9.19-beta tagged release failure)
  • Adds 'release/**' to both push and pull_request triggers
  • Mirror of the same fix on main — both branches need this so CI activates immediately

Test plan

  • After merge, verify CI triggers on subsequent PRs targeting this branch

🤖 Generated with Claude Code

The release/v0.9.x branch was not covered by CI because the branch
pattern 'v[0-9].[0-9]+.x' doesn't match the 'release/' prefix. PRs
targeting release branches were merged without lint, compile, or test
checks, which allowed broken cherry-picks to slip through (see the
v0.9.19-beta tagged release failure).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 11, 2026

Greptile Summary

This PR fixes a gap in the CI workflow where branch filters (v[0-9].[0-9]+.x) did not match release/v0.9.x-style branch names, meaning lint, compile, and test checks were never triggered on PRs targeting release branches. The fix — adding 'release/**' to both push and pull_request triggers — is correct and targeted.

Key changes:

  • push trigger now also matches release/** branches
  • pull_request trigger now also matches release/** branches

Issue found:

  • The ci-passed gate job lists instrumented-tests in its needs array but does not check needs.instrumented-tests.result in its failure condition. Instrumented test failures are therefore silently ignored and will not block merges on the newly-covered release/** branches. This pre-existing gap directly works against the stated goal of the PR.

Confidence Score: 4/5

  • Safe to merge — the two-line trigger fix is correct and the only pre-existing issue found does not make things worse than the current state.
  • The change is minimal, targeted, and addresses the described root cause. Score is 4 rather than 5 because a pre-existing logic gap in the ci-passed gate (instrumented tests not checked) means this PR doesn't fully achieve its stated goal of preventing broken code from being merged on release branches.
  • .github/workflows/ci.yml lines 534–561 — the ci-passed gate job omits instrumented-tests from its failure check.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Adds 'release/**' to both push and pull_request branch triggers so CI now fires on release branches. The fix is correct and minimal, but a pre-existing gap in the ci-passed gate job means instrumented-tests failures are silently ignored and won't block merges.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    trigger["push / pull_request\nmain | v[0-9].[0-9]+.x | release/**"]
    vw[validate-wrapper]
    lint[lint]
    ta[threading-audit]
    pg[proguard-verification]
    pt[python-tests]
    kt[kotlin-tests]
    it[instrumented-tests]
    gate["ci-passed ✅"]

    trigger --> vw
    trigger --> lint
    trigger --> ta
    lint --> pg
    vw --> pg
    lint --> pt
    vw --> pt
    lint --> kt
    vw --> kt
    lint --> it
    vw --> it

    vw --> gate
    lint --> gate
    ta --> gate
    pg --> gate
    pt --> gate
    kt --> gate
    it -. "result NOT checked\n⚠️ silent failure" .-> gate
Loading

Comments Outside Diff (1)

  1. .github/workflows/ci.yml, line 534-561 (link)

    instrumented-tests result not checked in gate job

    The ci-passed job lists instrumented-tests in its needs array (line 537), so it waits for that job — but the failure-check condition on lines 545–550 never evaluates needs.instrumented-tests.result. A failing emulator run will therefore never cause ci-passed to fail, and PRs targeting the newly-covered release/** branches can still be merged with broken instrumented tests.

    Since this PR's entire purpose is to ensure CI properly gates merges on release branches, this gap directly undermines that goal.

Last reviewed commit: eb70dc3

@torlando-tech torlando-tech merged commit 57b1487 into release/v0.9.x Mar 11, 2026
5 of 13 checks passed
@torlando-tech torlando-tech deleted the ci/add-release-branch-triggers-v0.9.x branch March 11, 2026 14:12
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.

1 participant