Skip to content

Commit 51c2aeb

Browse files
Only run docker-dryrun when necessary (#25329)
`docker-dryrun` runs on almost any PR, which is a huge waste of CI resources. Run it only when the Dockerfiles change and also add a step that verifies the rootless file. --------- Co-authored-by: techknowlogick <[email protected]>
1 parent f98ffff commit 51c2aeb

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

.github/workflows/files-changed.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,20 @@ on:
44
workflow_call:
55
outputs:
66
backend:
7-
description: "whether backend files changed"
87
value: ${{ jobs.detect.outputs.backend }}
98
frontend:
10-
description: "whether frontend files changed"
119
value: ${{ jobs.detect.outputs.frontend }}
1210
docs:
13-
description: "whether docs files changed"
1411
value: ${{ jobs.detect.outputs.docs }}
1512
actions:
16-
description: "whether actions files changed"
1713
value: ${{ jobs.detect.outputs.actions }}
1814
templates:
19-
description: "whether templates files changed"
2015
value: ${{ jobs.detect.outputs.templates }}
16+
docker:
17+
value: ${{ jobs.detect.outputs.docker }}
2118

2219
jobs:
2320
detect:
24-
name: detect which files changed
2521
runs-on: ubuntu-latest
2622
timeout-minutes: 3
2723
# Map a step output to a job output
@@ -31,6 +27,7 @@ jobs:
3127
docs: ${{ steps.changes.outputs.docs }}
3228
actions: ${{ steps.changes.outputs.actions }}
3329
templates: ${{ steps.changes.outputs.templates }}
30+
docker: ${{ steps.changes.outputs.docker }}
3431
steps:
3532
- uses: actions/checkout@v3
3633
- uses: dorny/paths-filter@v2
@@ -59,3 +56,7 @@ jobs:
5956
templates:
6057
- "templates/**/*.tmpl"
6158
- "poetry.lock"
59+
docker:
60+
- "Dockerfile"
61+
- "Dockerfile.rootless"
62+
- "docker/**"

.github/workflows/pull-docker-dryrun.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ jobs:
1111
files-changed:
1212
uses: ./.github/workflows/files-changed.yml
1313

14-
docker-dryrun:
15-
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.frontend == 'true' || needs.files-changed.outputs.actions == 'true'
14+
regular:
15+
if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.actions == 'true'
1616
needs: files-changed
1717
runs-on: ubuntu-latest
1818
steps:
@@ -21,3 +21,15 @@ jobs:
2121
with:
2222
push: false
2323
tags: gitea/gitea:linux-amd64
24+
25+
rootless:
26+
if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.actions == 'true'
27+
needs: files-changed
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: docker/setup-buildx-action@v2
31+
- uses: docker/build-push-action@v4
32+
with:
33+
push: false
34+
file: Dockerfile.rootless
35+
tags: gitea/gitea:linux-amd64

0 commit comments

Comments
 (0)