Skip to content

Commit a491b33

Browse files
committed
ci: skip long jobs when only docs change
Resolves #3058
1 parent 034416f commit a491b33

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

.github/workflows/coder.yaml

+25-1
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,24 @@ concurrency:
3030
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
3131

3232
jobs:
33+
changes:
34+
runs-on: ubuntu-latest
35+
outputs:
36+
docs-only: ${{ steps.filter.outputs.docs_count == steps.filter.outputs.all_count }}
37+
steps:
38+
# For pull requests it's not necessary to checkout the code
39+
- uses: dorny/paths-filter@v2
40+
id: filter
41+
with:
42+
filters: |
43+
all:
44+
- '**''
45+
docs:
46+
- 'docs/**'
3347
style-lint-golangci:
3448
name: style/lint/golangci
3549
timeout-minutes: 5
50+
if: ${{ needs.changes.outputs.docs_only }}
3651
runs-on: ubuntu-latest
3752
steps:
3853
- uses: actions/checkout@v3
@@ -48,6 +63,7 @@ jobs:
4863
name: style/lint/shellcheck
4964
timeout-minutes: 5
5065
runs-on: ubuntu-latest
66+
if: ${{ needs.changes.outputs.docs_only }}
5167
steps:
5268
- uses: actions/checkout@v3
5369
- name: Run ShellCheck
@@ -60,6 +76,7 @@ jobs:
6076
style-lint-typescript:
6177
name: "style/lint/typescript"
6278
timeout-minutes: 5
79+
if: ${{ needs.changes.outputs.docs_only }}
6380
runs-on: ubuntu-latest
6481
steps:
6582
- name: Checkout
@@ -87,6 +104,7 @@ jobs:
87104
name: "style/gen"
88105
timeout-minutes: 5
89106
runs-on: ubuntu-latest
107+
if: ${{ needs.changes.outputs.docs_only }}
90108
steps:
91109
- uses: actions/checkout@v3
92110

@@ -122,6 +140,7 @@ jobs:
122140

123141
style-fmt:
124142
name: "style/fmt"
143+
if: ${{ needs.changes.outputs.docs_only }}
125144
runs-on: ubuntu-latest
126145
timeout-minutes: 5
127146
steps:
@@ -154,6 +173,7 @@ jobs:
154173
155174
test-go:
156175
name: "test/go"
176+
if: ${{ needs.changes.outputs.docs_only }}
157177
runs-on: ${{ matrix.os }}
158178
timeout-minutes: 20
159179
strategy:
@@ -227,6 +247,7 @@ jobs:
227247

228248
test-go-postgres:
229249
name: "test/go/postgres"
250+
if: ${{ needs.changes.outputs.docs_only }}
230251
runs-on: ubuntu-latest
231252
timeout-minutes: 20
232253
steps:
@@ -291,7 +312,9 @@ jobs:
291312
name: "deploy"
292313
runs-on: ubuntu-latest
293314
timeout-minutes: 30
294-
if: github.ref == 'refs/heads/main' && !github.event.pull_request.head.repo.fork
315+
if:
316+
github.ref == 'refs/heads/main' && !github.event.pull_request.head.repo.fork \
317+
needs.changes.outputs.docs_only
295318
permissions:
296319
contents: read
297320
id-token: write
@@ -397,6 +420,7 @@ jobs:
397420

398421
test-js:
399422
name: "test/js"
423+
if: ${{ needs.changes.outputs.docs_only }}
400424
runs-on: ubuntu-latest
401425
timeout-minutes: 20
402426
steps:

0 commit comments

Comments
 (0)