ci: skip lint and test for doc-only PRs
- commit
- b4b752ed4ef8db22c0374b1ba61f18dda934f5cd
- author
- brice · · 2026-04-20 06:31 UTC
- parent
- a5c0fd3
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +26 -17
M .github/workflows/ci.yml +26 -17
| @@ -12,27 +12,34 @@ on: | |||
| 12 | 12 | - 'Makefile' | |
| 13 | 13 | - 'sqlc.yaml' | |
| 14 | 14 | - 'assets/**' | |
| 15 | - | - '.github/workflows/**' | |
| 16 | - | - '!**.md' | |
| 17 | - | - '!docs/**' | |
| 18 | - | - '!LICENSE' | |
| 19 | 15 | pull_request: | |
| 20 | - | paths: | |
| 21 | - | - '**.go' | |
| 22 | - | - 'go.mod' | |
| 23 | - | - 'go.sum' | |
| 24 | - | - 'webui/**' | |
| 25 | - | - '.golangci.yml' | |
| 26 | - | - 'Makefile' | |
| 27 | - | - 'sqlc.yaml' | |
| 28 | - | - 'assets/**' | |
| 29 | - | - '.github/workflows/**' | |
| 30 | - | - '!**.md' | |
| 31 | - | - '!docs/**' | |
| 32 | - | - '!LICENSE' | |
| 33 | 16 | ||
| 34 | 17 | jobs: | |
| 18 | + | changes: | |
| 19 | + | runs-on: ubuntu-latest | |
| 20 | + | outputs: | |
| 21 | + | ci: ${{ steps.filter.outputs.ci }} | |
| 22 | + | steps: | |
| 23 | + | - uses: actions/checkout@v6 | |
| 24 | + | with: | |
| 25 | + | fetch-depth: 0 | |
| 26 | + | - uses: dorny/paths-filter@v3 | |
| 27 | + | id: filter | |
| 28 | + | with: | |
| 29 | + | filters: | | |
| 30 | + | ci: | |
| 31 | + | - '**.go' | |
| 32 | + | - 'go.mod' | |
| 33 | + | - 'go.sum' | |
| 34 | + | - 'webui/**' | |
| 35 | + | - '.golangci.yml' | |
| 36 | + | - 'Makefile' | |
| 37 | + | - 'sqlc.yaml' | |
| 38 | + | - 'assets/**' | |
| 39 | + | ||
| 35 | 40 | lint: | |
| 41 | + | needs: changes | |
| 42 | + | if: needs.changes.outputs.ci == 'true' | |
| 36 | 43 | runs-on: ubuntu-latest | |
| 37 | 44 | container: | |
| 38 | 45 | image: archlinux:latest | |
| @@ -74,6 +81,8 @@ jobs: | |||
| 74 | 81 | golangci-lint run --timeout=20m | |
| 75 | 82 | ||
| 76 | 83 | test: | |
| 84 | + | needs: changes | |
| 85 | + | if: needs.changes.outputs.ci == 'true' | |
| 77 | 86 | runs-on: ubuntu-latest | |
| 78 | 87 | container: | |
| 79 | 88 | image: archlinux:latest | |
| @@ -12,27 +12,34 @@ on: | |||||
| 12 | - 'Makefile' | 12 | - 'Makefile' | ||
| 13 | - 'sqlc.yaml' | 13 | - 'sqlc.yaml' | ||
| 14 | - 'assets/**' | 14 | - 'assets/**' | ||
| 15 | - | - '.github/workflows/**' | |||
| 16 | - | - '!**.md' | |||
| 17 | - | - '!docs/**' | |||
| 18 | - | - '!LICENSE' | |||
| 19 | pull_request: | 15 | pull_request: | ||
| 20 | - | paths: | |||
| 21 | - | - '**.go' | |||
| 22 | - | - 'go.mod' | |||
| 23 | - | - 'go.sum' | |||
| 24 | - | - 'webui/**' | |||
| 25 | - | - '.golangci.yml' | |||
| 26 | - | - 'Makefile' | |||
| 27 | - | - 'sqlc.yaml' | |||
| 28 | - | - 'assets/**' | |||
| 29 | - | - '.github/workflows/**' | |||
| 30 | - | - '!**.md' | |||
| 31 | - | - '!docs/**' | |||
| 32 | - | - '!LICENSE' | |||
| 33 | 16 | ||||
| 34 | jobs: | 17 | jobs: | ||
| 18 | + | changes: | |||
| 19 | + | runs-on: ubuntu-latest | |||
| 20 | + | outputs: | |||
| 21 | + | ci: ${{ steps.filter.outputs.ci }} | |||
| 22 | + | steps: | |||
| 23 | + | - uses: actions/checkout@v6 | |||
| 24 | + | with: | |||
| 25 | + | fetch-depth: 0 | |||
| 26 | + | - uses: dorny/paths-filter@v3 | |||
| 27 | + | id: filter | |||
| 28 | + | with: | |||
| 29 | + | filters: | | |||
| 30 | + | ci: | |||
| 31 | + | - '**.go' | |||
| 32 | + | - 'go.mod' | |||
| 33 | + | - 'go.sum' | |||
| 34 | + | - 'webui/**' | |||
| 35 | + | - '.golangci.yml' | |||
| 36 | + | - 'Makefile' | |||
| 37 | + | - 'sqlc.yaml' | |||
| 38 | + | - 'assets/**' | |||
| 39 | + | ||||
| 35 | lint: | 40 | lint: | ||
| 41 | + | needs: changes | |||
| 42 | + | if: needs.changes.outputs.ci == 'true' | |||
| 36 | runs-on: ubuntu-latest | 43 | runs-on: ubuntu-latest | ||
| 37 | container: | 44 | container: | ||
| 38 | image: archlinux:latest | 45 | image: archlinux:latest | ||
| @@ -74,6 +81,8 @@ jobs: | |||||
| 74 | golangci-lint run --timeout=20m | 81 | golangci-lint run --timeout=20m | ||
| 75 | 82 | ||||
| 76 | test: | 83 | test: | ||
| 84 | + | needs: changes | |||
| 85 | + | if: needs.changes.outputs.ci == 'true' | |||
| 77 | runs-on: ubuntu-latest | 86 | runs-on: ubuntu-latest | ||
| 78 | container: | 87 | container: | ||
| 79 | image: archlinux:latest | 88 | image: archlinux:latest | ||