From df713bc50756775550eaa973d99f4714e94d5e0a Mon Sep 17 00:00:00 2001 From: Dhruv Manilawala Date: Wed, 22 Jan 2025 13:59:14 +0530 Subject: [PATCH] Allow disabling (most of) CI with `no-test` label (#14622) Ref: https://github.com/astral-sh/uv/pull/9456 --- .github/workflows/ci.yaml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6ddf4d92d0..cab62cd9d6 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -130,7 +130,7 @@ jobs: name: "cargo test (linux)" runs-on: depot-ubuntu-22.04-16 needs: determine_changes - if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -176,7 +176,7 @@ jobs: name: "cargo test (linux, release)" runs-on: depot-ubuntu-22.04-16 needs: determine_changes - if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -205,7 +205,7 @@ jobs: name: "cargo test (windows)" runs-on: github-windows-2025-x86_64-16 needs: determine_changes - if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -232,7 +232,7 @@ jobs: name: "cargo test (wasm)" runs-on: ubuntu-latest needs: determine_changes - if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 10 steps: - uses: actions/checkout@v4 @@ -279,7 +279,7 @@ jobs: name: "cargo build (msrv)" runs-on: ubuntu-latest needs: determine_changes - if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -342,7 +342,7 @@ jobs: needs: - cargo-test-linux - determine_changes - if: ${{ needs.determine_changes.outputs.parser == 'true' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && needs.determine_changes.outputs.parser == 'true' }} timeout-minutes: 20 env: FORCE_COLOR: 1 @@ -378,7 +378,7 @@ jobs: name: "test scripts" runs-on: ubuntu-latest needs: determine_changes - if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 5 steps: - uses: actions/checkout@v4 @@ -410,7 +410,7 @@ jobs: - determine_changes # Only runs on pull requests, since that is the only we way we can find the base version for comparison. # Ecosystem check needs linter and/or formatter changes. - if: ${{ github.event_name == 'pull_request' && needs.determine_changes.outputs.code == 'true' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && github.event_name == 'pull_request' && needs.determine_changes.outputs.code == 'true' }} timeout-minutes: 20 steps: - uses: actions/checkout@v4 @@ -544,6 +544,7 @@ jobs: name: "python package" runs-on: ubuntu-latest timeout-minutes: 20 + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }} steps: - uses: actions/checkout@v4 with: @@ -645,7 +646,7 @@ jobs: name: "formatter instabilities and black similarity" runs-on: ubuntu-latest needs: determine_changes - if: needs.determine_changes.outputs.formatter == 'true' || github.ref == 'refs/heads/main' + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.formatter == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 10 steps: - uses: actions/checkout@v4 @@ -668,7 +669,7 @@ jobs: needs: - cargo-test-linux - determine_changes - if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }} + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} steps: - uses: extractions/setup-just@v2 env: @@ -710,7 +711,7 @@ jobs: benchmarks: runs-on: ubuntu-22.04 needs: determine_changes - if: ${{ github.repository == 'astral-sh/ruff' && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} + if: ${{ github.repository == 'astral-sh/ruff' && !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }} timeout-minutes: 20 steps: - name: "Checkout Branch"