From af1be797b6cc83fe5c2ee5a0c0f38c62b64b2cab Mon Sep 17 00:00:00 2001 From: Feodor Fitsner Date: Tue, 30 Jun 2026 19:19:21 -0700 Subject: [PATCH] ci: skip test jobs on tags; tags only publish 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. --- .github/workflows/ci.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a165aab..61299b99 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,6 +34,8 @@ env: jobs: version_tables_in_sync: name: Version tables in sync with manifest + # Tags only publish; tests run on branches/PRs before the tag is cut. + if: ${{ !startsWith(github.ref, 'refs/tags/') }} runs-on: ubuntu-latest steps: - name: Checkout repository @@ -66,6 +68,7 @@ jobs: bridge_example_macos: name: Test Bridge example on macOS (${{ matrix.build_system }}, Python ${{ matrix.python_version }}) + if: ${{ !startsWith(github.ref, 'refs/tags/') }} runs-on: macos-26 strategy: fail-fast: false @@ -128,6 +131,7 @@ jobs: bridge_example_ios: name: Test Bridge example on iOS (${{ matrix.build_system }}, Python ${{ matrix.python_version }}) + if: ${{ !startsWith(github.ref, 'refs/tags/') }} runs-on: macos-26 timeout-minutes: 25 strategy: @@ -203,6 +207,7 @@ jobs: bridge_example_android: name: Test Bridge example on Android (Python ${{ matrix.python_version }}) + if: ${{ !startsWith(github.ref, 'refs/tags/') }} runs-on: ubuntu-latest strategy: fail-fast: false @@ -300,6 +305,7 @@ jobs: bridge_example_windows: name: Test Bridge example on Windows (Python ${{ matrix.python_version }}) + if: ${{ !startsWith(github.ref, 'refs/tags/') }} # Explicit pin instead of `windows-latest` to avoid silent image moves. # `windows-2025-vs2026` is what GitHub redirects `windows-latest` to # starting 2026-06-15 (Server 2025 + VS 2026). @@ -366,6 +372,7 @@ jobs: bridge_example_linux: name: Test Bridge example on Linux ${{ matrix.title }} (Python ${{ matrix.python_version }}) + if: ${{ !startsWith(github.ref, 'refs/tags/') }} runs-on: ${{ matrix.runner }} strategy: fail-fast: false @@ -482,7 +489,9 @@ jobs: - bridge_example_linux - bridge_example_windows runs-on: ubuntu-22.04 - if: startsWith(github.ref, 'refs/tags/v') + # The bridge_example_* deps are skipped on tag builds (tags only publish); + # `!cancelled()` lets publish run despite those skipped needs. + if: ${{ !cancelled() && startsWith(github.ref, 'refs/tags/v') }} steps: - name: Checkout repository