From 00400a9f31d011a5cd9268b8247827740152b22f Mon Sep 17 00:00:00 2001 From: Greyson LaLonde Date: Thu, 9 Apr 2026 01:34:47 +0800 Subject: [PATCH] ci: skip python tests, lint, and type checks on docs-only PRs --- .github/workflows/linter.yml | 24 ++++++++++++++++++++++-- .github/workflows/tests.yml | 24 ++++++++++++++++++++++-- .github/workflows/type-checker.yml | 6 +++++- 3 files changed, 49 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 633d6c0e0..419820b19 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -1,12 +1,16 @@ name: Lint -on: [pull_request] +on: + pull_request: + paths-ignore: + - 'docs/**' + - '**/*.md' permissions: contents: read jobs: - lint: + lint-run: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -48,3 +52,19 @@ jobs: ~/.local/share/uv .venv key: uv-main-py3.11-${{ hashFiles('uv.lock') }} + + # Summary job to provide single status for branch protection + lint: + name: lint + runs-on: ubuntu-latest + needs: lint-run + if: always() + steps: + - name: Check lint results + run: | + if [ "${{ needs.lint-run.result }}" == "success" ] || [ "${{ needs.lint-run.result }}" == "skipped" ]; then + echo "Lint passed" + else + echo "Lint failed" + exit 1 + fi diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fb75beb8a..8f1c1dab4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,12 +1,16 @@ name: Run Tests -on: [pull_request] +on: + pull_request: + paths-ignore: + - 'docs/**' + - '**/*.md' permissions: contents: read jobs: - tests: + tests-matrix: name: tests (${{ matrix.python-version }}) runs-on: ubuntu-latest timeout-minutes: 15 @@ -98,3 +102,19 @@ jobs: ~/.local/share/uv .venv key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }} + + # Summary job to provide single status for branch protection + tests: + name: tests + runs-on: ubuntu-latest + needs: tests-matrix + if: always() + steps: + - name: Check matrix results + run: | + if [ "${{ needs.tests-matrix.result }}" == "success" ] || [ "${{ needs.tests-matrix.result }}" == "skipped" ]; then + echo "All tests passed" + else + echo "Tests failed" + exit 1 + fi diff --git a/.github/workflows/type-checker.yml b/.github/workflows/type-checker.yml index 2bab1ebb7..f423e304c 100644 --- a/.github/workflows/type-checker.yml +++ b/.github/workflows/type-checker.yml @@ -1,6 +1,10 @@ name: Run Type Checks -on: [pull_request] +on: + pull_request: + paths-ignore: + - 'docs/**' + - '**/*.md' permissions: contents: read