Skip to content

ci: skip test jobs on tags (tags only publish)#222

Merged
FeodorFitsner merged 1 commit into
mainfrom
ci-skip-tests-on-tags
Jul 1, 2026
Merged

ci: skip test jobs on tags (tags only publish)#222
FeodorFitsner merged 1 commit into
mainfrom
ci-skip-tests-on-tags

Conversation

@FeodorFitsner

Copy link
Copy Markdown
Contributor

What

On a tag push, the CI now runs only the publish job — the test jobs no longer re-run on release tags.

Why

The bridge example test jobs (macOS/iOS/Android/Windows/Linux) and the version-tables check already run on branch/PR pushes before a release tag is cut. Re-running the heavy device/emulator suites on the tag is redundant and can flake, delaying/blocking a publish.

How

  • Each of the six test jobs (version_tables_in_sync + bridge_example_*) gains if: ${{ !startsWith(github.ref, 'refs/tags/') }}, so they're skipped on tag pushes.
  • publish needs: the bridge_example_* jobs; a skipped dependency would normally cascade-skip it, so its if gains a !cancelled() status function: if: ${{ !cancelled() && startsWith(github.ref, 'refs/tags/v') }}. It still only runs on v* tags, now regardless of the skipped needs.

Branch/PR behavior is unchanged (publish's tag guard keeps it off non-tags; tests run as before).

All six test jobs (version_tables_in_sync + bridge_example_*) now carry
`if: !startsWith(github.ref, 'refs/tags/')`, so a tag push runs only the
publish job. publish `needs:` those jobs, so its `if` gains `!cancelled()`
to run despite the skipped needs (it still gates on the tag ref). Tests run
on branches/PRs before a release tag is cut.
@FeodorFitsner FeodorFitsner merged commit 1e5be83 into main Jul 1, 2026
9 of 52 checks passed
@FeodorFitsner FeodorFitsner deleted the ci-skip-tests-on-tags branch July 1, 2026 02:29
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