Skip to content

Commit 4ab22dd

Browse files
committed
Reuse container prep workflow
1 parent 87cab0a commit 4ab22dd

File tree

10 files changed

+88
-148
lines changed

10 files changed

+88
-148
lines changed

.github/workflows/android-app.yml

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ env:
6464
SCHEDULE_E2E_REPEAT: 10
6565

6666
jobs:
67+
prepare-container:
68+
uses: ./.github/workflows/resolve-container-image.yml
69+
with:
70+
image_file: ./building/android-container-image.txt
71+
override_container_image: ${{ inputs.override_container_image }}
72+
6773
prepare:
6874
name: Prepare
6975
runs-on: ubuntu-latest
@@ -73,16 +79,6 @@ jobs:
7379
with:
7480
submodules: true
7581

76-
- name: Use custom container image if specified
77-
if: ${{ github.event.inputs.override_container_image != '' }}
78-
run: echo "inner_container_image=${{ github.event.inputs.override_container_image }}"
79-
>> $GITHUB_ENV
80-
81-
- name: Use default container image and resolve digest
82-
if: ${{ github.event.inputs.override_container_image == '' }}
83-
run: |
84-
echo "inner_container_image=$(cat ./building/android-container-image.txt)" >> $GITHUB_ENV
85-
8682
# Preparing variables this way instead of using `env.*` due to:
8783
# https://github.com/orgs/community/discussions/26388
8884
- name: Prepare environment variables
@@ -94,16 +90,15 @@ jobs:
9490
env.DEFAULT_E2E_REPEAT }}" \
9591
>> $GITHUB_ENV
9692
outputs:
97-
container_image: ${{ env.inner_container_image }}
9893
E2E_TEST_INFRA_FLAVOR: ${{ env.INNER_E2E_TEST_INFRA_FLAVOR }}
9994
E2E_TEST_REPEAT: ${{ env.INNER_E2E_TEST_REPEAT }}
10095

10196
build-native:
10297
name: Build native # Used by wait for jobs.
103-
needs: prepare
98+
needs: prepare-container
10499
runs-on: ubuntu-latest
105100
container:
106-
image: "${{ needs.prepare.outputs.container_image }}"
101+
image: "${{ needs.prepare-container.outputs.container_image }}"
107102
strategy:
108103
matrix:
109104
include:
@@ -175,10 +170,10 @@ jobs:
175170

176171
run-lint-and-tests:
177172
name: Run lint and test tasks
178-
needs: [prepare]
173+
needs: prepare-container
179174
runs-on: ubuntu-latest
180175
container:
181-
image: ${{ needs.prepare.outputs.container_image }}
176+
image: "${{ needs.prepare-container.outputs.container_image }}"
182177
strategy:
183178
fail-fast: false
184179
matrix:
@@ -218,10 +213,10 @@ jobs:
218213

219214
build-app:
220215
name: Build app
221-
needs: [prepare]
216+
needs: [prepare-container, prepare]
222217
runs-on: ubuntu-latest
223218
container:
224-
image: ${{ needs.prepare.outputs.container_image }}
219+
image: "${{ needs.prepare-container.outputs.container_image }}"
225220
steps:
226221
# Fix for HOME path overridden by GH runners when building in containers, see:
227222
# https://github.com/actions/runner/issues/863
@@ -314,10 +309,10 @@ jobs:
314309

315310
build-instrumented-tests:
316311
name: Build instrumented test packages
317-
needs: [prepare]
312+
needs: prepare-container
318313
runs-on: ubuntu-latest
319314
container:
320-
image: ${{ needs.prepare.outputs.container_image }}
315+
image: "${{ needs.prepare-container.outputs.container_image }}"
321316
strategy:
322317
matrix:
323318
include:

.github/workflows/android-audit.yml

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,10 @@ permissions: {}
3131

3232
jobs:
3333
prepare:
34-
name: Prepare
35-
runs-on: ubuntu-latest
36-
steps:
37-
- name: Checkout repository
38-
uses: actions/checkout@v4
39-
with:
40-
submodules: true
41-
42-
- name: Use custom container image if specified
43-
if: ${{ github.event.inputs.override_container_image != '' }}
44-
run: echo "inner_container_image=${{ github.event.inputs.override_container_image }}"
45-
>> $GITHUB_ENV
46-
47-
- name: Use default container image and resolve digest
48-
if: ${{ github.event.inputs.override_container_image == '' }}
49-
run: echo "inner_container_image=$(cat ./building/android-container-image.txt)" >> $GITHUB_ENV
50-
51-
outputs:
52-
container_image: ${{ env.inner_container_image }}
34+
uses: ./.github/workflows/resolve-container-image.yml
35+
with:
36+
image_file: ./building/android-container-image.txt
37+
override_container_image: ${{ inputs.override_container_image }}
5338

5439
ensure-clean-lockfile:
5540
needs: prepare

.github/workflows/android-kotlin-format-check.yml

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,10 @@ permissions: {}
1818

1919
jobs:
2020
prepare:
21-
name: Prepare
22-
runs-on: ubuntu-latest
23-
steps:
24-
- name: Checkout repository
25-
uses: actions/checkout@v4
26-
with:
27-
submodules: true
28-
29-
- name: Use custom container image if specified
30-
if: ${{ github.event.inputs.override_container_image != '' }}
31-
run: echo "inner_container_image=${{ github.event.inputs.override_container_image }}"
32-
>> $GITHUB_ENV
33-
34-
- name: Use default container image and resolve digest
35-
if: ${{ github.event.inputs.override_container_image == '' }}
36-
run: echo "inner_container_image=$(cat ./building/android-container-image.txt)" >> $GITHUB_ENV
37-
38-
outputs:
39-
container_image: ${{ env.inner_container_image }}
21+
uses: ./.github/workflows/resolve-container-image.yml
22+
with:
23+
image_file: ./building/android-container-image.txt
24+
override_container_image: ${{ inputs.override_container_image }}
4025

4126
check-formatting:
4227
needs: prepare

.github/workflows/android-xml-format-check.yml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,10 @@ permissions: {}
1111

1212
jobs:
1313
prepare:
14-
name: Prepare
15-
runs-on: ubuntu-latest
16-
steps:
17-
- name: Checkout repository
18-
uses: actions/checkout@v4
19-
with:
20-
submodules: true
21-
- name: Resolve container image
22-
run: |
23-
echo "inner_container_image=$(cat ./building/android-container-image.txt)" >> $GITHUB_ENV
24-
outputs:
25-
container_image: ${{ env.inner_container_image }}
14+
uses: ./.github/workflows/resolve-container-image.yml
15+
with:
16+
image_file: ./building/android-container-image.txt
17+
override_container_image: ${{ inputs.override_container_image }}
2618

2719
check-formatting:
2820
name: Lint XML using tidy

.github/workflows/clippy.yml

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,9 @@ permissions: {}
1212

1313
jobs:
1414
prepare-android:
15-
name: Prepare Android container
16-
runs-on: ubuntu-latest
17-
steps:
18-
- name: Checkout repository
19-
uses: actions/checkout@v4
20-
21-
- name: Use custom container image if specified
22-
if: ${{ github.event.inputs.override_container_image != '' }}
23-
run: echo "inner_container_image_android=${{ github.event.inputs.override_container_image }}"
24-
>> $GITHUB_ENV
25-
26-
- name: Use default container image and resolve digest
27-
if: ${{ github.event.inputs.override_container_image == '' }}
28-
run: echo "inner_container_image_android=$(cat ./building/android-container-image.txt)" >> $GITHUB_ENV
29-
30-
outputs:
31-
container_image_android: ${{ env.inner_container_image_android }}
15+
uses: ./.github/workflows/resolve-container-image.yml
16+
with:
17+
image_file: ./building/android-container-image.txt
3218

3319
clippy-check-desktop:
3420
name: Clippy linting, desktop

.github/workflows/daemon.yml

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,10 @@ permissions: {}
3737

3838
jobs:
3939
prepare-linux:
40-
runs-on: ubuntu-latest
41-
steps:
42-
- name: Checkout repository
43-
uses: actions/checkout@v4
44-
45-
- name: Use custom container image if specified
46-
if: ${{ github.event.inputs.override_container_image != '' }}
47-
run: echo "inner_container_image=${{ github.event.inputs.override_container_image }}"
48-
>> $GITHUB_ENV
49-
50-
- name: Use default container image and resolve digest
51-
if: ${{ github.event.inputs.override_container_image == '' }}
52-
run: echo "inner_container_image=$(cat ./building/linux-container-image.txt)" >> $GITHUB_ENV
53-
54-
outputs:
55-
container_image: ${{ env.inner_container_image }}
40+
uses: ./.github/workflows/resolve-container-image.yml
41+
with:
42+
image_file: ./building/linux-container-image.txt
43+
override_container_image: ${{ inputs.override_container_image }}
5644

5745
build-linux:
5846
needs: prepare-linux

.github/workflows/desktop-e2e.yml

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,9 @@ jobs:
9191
prepare-linux:
9292
name: Prepare Linux build container
9393
needs: prepare-matrices
94-
runs-on: ubuntu-latest
95-
steps:
96-
- name: Checkout repository
97-
uses: actions/checkout@v4
98-
- name: Use custom container image if specified
99-
if: ${{ github.event.inputs.override_container_image != '' }}
100-
run: echo "inner_container_image=${{ github.event.inputs.override_container_image }}"
101-
>> $GITHUB_ENV
102-
- name: Use default container image and resolve digest
103-
if: ${{ github.event.inputs.override_container_image == '' }}
104-
run: |
105-
echo "inner_container_image=$(cat ./building/linux-container-image.txt)" >> $GITHUB_ENV
106-
outputs:
107-
container_image: ${{ env.inner_container_image }}
94+
uses: ./.github/workflows/resolve-container-image.yml
95+
with:
96+
image_file: ./building/linux-container-image.txt
10897

10998
build-linux-app:
11099
name: Build Linux App
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Resolve container images
3+
4+
on:
5+
workflow_call:
6+
inputs:
7+
override_container_image:
8+
type: string
9+
default: ""
10+
description: "If set, use this image"
11+
image_file:
12+
description: "Path to a file containing the default image ref"
13+
required: true
14+
outputs:
15+
container_image:
16+
description: "Resolved image reference"
17+
value: ${{ jobs.prepare-container.outputs.container_image }}
18+
19+
permissions: {}
20+
21+
jobs:
22+
prepare-container:
23+
runs-on: ubuntu-latest
24+
outputs:
25+
container_image: ${{ steps.resolve.outputs.image }}
26+
steps:
27+
- name: Checkout repository
28+
uses: actions/checkout@v4
29+
30+
- name: Use custom container image if specified
31+
if: ${{ inputs.linux_override_container_image != '' }}
32+
run: echo "image=${{ github.event.inputs.linux_override_container_image }}"
33+
>> $GITHUB_OUTPUT
34+
35+
- name: Use default container image and resolve digest
36+
if: ${{ inputs.linux_override_container_image == '' }}
37+
run: echo "image=$(cat ${{ github.event.inputs.image_file }})" >> $GITHUB_OUTPUT

.github/workflows/rust-unused-dependencies.yml

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,21 @@ env:
1515
permissions: {}
1616

1717
jobs:
18-
prepare-containers:
19-
runs-on: ubuntu-latest
20-
steps:
21-
- uses: actions/checkout@v4
22-
23-
- name: Fetch container image names
24-
run: |
25-
echo "inner_container_image_linux=$(cat ./building/linux-container-image.txt)" >> $GITHUB_ENV
26-
echo "inner_container_image_android=$(cat ./building/android-container-image.txt)" >> $GITHUB_ENV
18+
prepare-linux:
19+
uses: ./.github/workflows/resolve-container-image.yml
20+
with:
21+
image_file: ./building/linux-container-image.txt
2722

28-
outputs:
29-
container_image_linux: ${{ env.inner_container_image_linux }}
30-
container_image_android: ${{ env.inner_container_image_android }}
23+
prepare-android:
24+
uses: ./.github/workflows/resolve-container-image.yml
25+
with:
26+
image_file: ./building/android-container-image.txt
3127

3228
cargo-udeps-linux:
33-
needs: prepare-containers
29+
needs: prepare-linux
3430
runs-on: ubuntu-latest
3531
container:
36-
image: ${{ needs.prepare-containers.outputs.container_image_linux }}
32+
image: ${{ needs.prepare-linux.outputs.container_image }}
3733

3834
steps:
3935
# Fix for HOME path overridden by GH runners when building in containers, see:
@@ -62,10 +58,10 @@ jobs:
6258
run: source env.sh && cargo udeps --workspace
6359

6460
cargo-udeps-android:
65-
needs: prepare-containers
61+
needs: prepare-android
6662
runs-on: ubuntu-latest
6763
container:
68-
image: ${{ needs.prepare-containers.outputs.container_image_android }}
64+
image: ${{ needs.prepare-android.outputs.container_image }}
6965

7066
steps:
7167
# Fix for HOME path overridden by GH runners when building in containers, see:

.github/workflows/testframework.yml

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,9 @@ permissions: {}
3030

3131
jobs:
3232
prepare-build-test-framework-linux:
33-
runs-on: ubuntu-latest
34-
steps:
35-
- name: Checkout repository
36-
uses: actions/checkout@v4
37-
38-
- name: Use custom container image if specified
39-
if: ${{ github.event.inputs.override_container_image != '' }}
40-
run: echo "inner_container_image=${{ github.event.inputs.override_container_image }}"
41-
>> $GITHUB_ENV
42-
43-
- name: Use default container image and resolve digest
44-
if: ${{ github.event.inputs.override_container_image == '' }}
45-
run: echo "inner_container_image=$(cat ./building/linux-container-image.txt)" >> $GITHUB_ENV
46-
47-
outputs:
48-
container_image: ${{ env.inner_container_image }}
33+
uses: ./.github/workflows/resolve-container-image.yml
34+
with:
35+
image_file: ./building/linux-container-image.txt
4936

5037
# Build the test runner + test manager at once.
5138
build-test-framework-linux:

0 commit comments

Comments
 (0)