Skip to content

Commit 75ae0ce

Browse files
Copilotrjaegersphilips-software-forest-releaser[bot]dependabot[bot]
authored
test: add Podman integration tests for OCI runtime compatibility (#1143)
* Initial plan * Add Podman integration tests for OCI runtime compatibility Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com> * Pass environment variables to Podman container Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com> * Add comment clarifying Ubuntu runner requirement for Podman Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com> * Fix code injection vulnerabilities in Podman workflow Move all template expansions to environment variables and use them in shell commands instead to prevent code injection. Properly quote all variables that can contain spaces. Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com> * Fix DNS resolution issue in Podman tests by using host network Add --network=host flag to podman run command to ensure DNS resolution works properly in containers. This fixes the "failed to lookup address information" errors that were occurring on x64 runners when tests tried to download Windows SDK from aka.ms domains. Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com> * chore(deps, rust): update github.vscode-pull-request-github in devcontainer.json (#1146) Update github.vscode-pull-request-github in devcontainer.json Co-authored-by: philips-software-forest-releaser[bot] <80338643+philips-software-forest-releaser[bot]@users.noreply.github.com> * chore(deps): bump conan from 2.25.1 to 2.25.2 in /.devcontainer (#1149) Bumps [conan](https://github.com/conan-io/conan) from 2.25.1 to 2.25.2. - [Release notes](https://github.com/conan-io/conan/releases) - [Commits](conan-io/conan@2.25.1...2.25.2) --- updated-dependencies: - dependency-name: conan dependency-version: 2.25.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci(deps): bump the github-actions group with 4 updates (#1151) Bumps the github-actions group with 4 updates: [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action), [github/codeql-action](https://github.com/github/codeql-action), [philips-software/amp-devcontainer](https://github.com/philips-software/amp-devcontainer) and [anchore/sbom-action](https://github.com/anchore/sbom-action). Updates `zizmorcore/zizmor-action` from 0.4.1 to 0.5.0 - [Release notes](https://github.com/zizmorcore/zizmor-action/releases) - [Commits](zizmorcore/zizmor-action@1356984...0dce257) Updates `github/codeql-action` from 4.31.10 to 4.32.2 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@cdefb33...45cbd0c) Updates `philips-software/amp-devcontainer` from 6.6.2 to 6.8.0 - [Release notes](https://github.com/philips-software/amp-devcontainer/releases) - [Changelog](https://github.com/philips-software/amp-devcontainer/blob/main/CHANGELOG.md) - [Commits](03a6ec0...0b102f3) Updates `anchore/sbom-action` from 0.21.1 to 0.22.2 - [Release notes](https://github.com/anchore/sbom-action/releases) - [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md) - [Commits](anchore/sbom-action@0b82b0b...28d7154) --- updated-dependencies: - dependency-name: zizmorcore/zizmor-action dependency-version: 0.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.32.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: philips-software/amp-devcontainer dependency-version: 6.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: anchore/sbom-action dependency-version: 0.22.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * test(deps): bump the npm group with 4 updates (#1150) Bumps the npm group with 4 updates: [@playwright/test](https://github.com/microsoft/playwright), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [dotenv](https://github.com/motdotla/dotenv) and [otpauth](https://github.com/hectorm/otpauth). Updates `@playwright/test` from 1.58.0 to 1.58.1 - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](microsoft/playwright@v1.58.0...v1.58.1) Updates `@types/node` from 25.1.0 to 25.2.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `dotenv` from 17.2.3 to 17.2.4 - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](motdotla/dotenv@v17.2.3...v17.2.4) Updates `otpauth` from 9.4.1 to 9.5.0 - [Release notes](https://github.com/hectorm/otpauth/releases) - [Commits](hectorm/otpauth@v9.4.1...v9.5.0) --- updated-dependencies: - dependency-name: "@playwright/test" dependency-version: 1.58.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm - dependency-name: "@types/node" dependency-version: 25.2.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm - dependency-name: dotenv dependency-version: 17.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm - dependency-name: otpauth dependency-version: 9.5.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps, base): update g++-14 (#1156) Update g++-14 Co-authored-by: philips-software-forest-releaser[bot] <80338643+philips-software-forest-releaser[bot]@users.noreply.github.com> * chore(deps, cpp): update ms-vscode.cpptools in devcontainer-metadata.json (#1152) Update ms-vscode.cpptools in devcontainer-metadata.json Co-authored-by: philips-software-forest-releaser[bot] <80338643+philips-software-forest-releaser[bot]@users.noreply.github.com> * chore(deps, rust): update rust-lang.rust-analyzer in devcontainer-metadata.json (#1153) Update rust-lang.rust-analyzer in devcontainer-metadata.json Co-authored-by: philips-software-forest-releaser[bot] <80338643+philips-software-forest-releaser[bot]@users.noreply.github.com> Co-authored-by: Ron <45816308+rjaegers@users.noreply.github.com> * chore(deps, cpp): update alexkrechik.cucumberautocomplete, ms-vscode.cpptools in devcontainer.json (#1154) Update alexkrechik.cucumberautocomplete, ms-vscode.cpptools in devcontainer.json Co-authored-by: philips-software-forest-releaser[bot] <80338643+philips-software-forest-releaser[bot]@users.noreply.github.com> Co-authored-by: Ron <45816308+rjaegers@users.noreply.github.com> * chore(deps, rust): update rust-lang.rust-analyzer in devcontainer.json (#1155) Update rust-lang.rust-analyzer in devcontainer.json Co-authored-by: philips-software-forest-releaser[bot] <80338643+philips-software-forest-releaser[bot]@users.noreply.github.com> Co-authored-by: Ron <45816308+rjaegers@users.noreply.github.com> * Initial plan * ci: minor updates * ci: process review comments * ci: make podman tests optional * ci: reduce duplication * ci: fix workflow needs * ci: remove concurrency from workflow_call workflow * ci: pass secrets to workflow * ci: correct syntax for passing secrets --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com> Co-authored-by: philips-software-forest-releaser[bot] <80338643+philips-software-forest-releaser[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 094efc5 commit 75ae0ce

6 files changed

Lines changed: 209 additions & 98 deletions

File tree

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
name: Build, Push & Test
3+
4+
on:
5+
workflow_call:
6+
secrets:
7+
TEST_GITHUB_PASSWORD:
8+
required: false
9+
TEST_GITHUB_TOKEN:
10+
required: false
11+
TEST_GITHUB_TOTP_SECRET:
12+
required: false
13+
TEST_GITHUB_USER:
14+
required: false
15+
16+
permissions: {}
17+
18+
jobs:
19+
build-push-test-base:
20+
name: 🍨 base
21+
uses: ./.github/workflows/wc-build-push-test.yml
22+
permissions: &build-push-test-permissions
23+
actions: read # is needed by anchore/sbom-action to find workflow artifacts when attaching release assets
24+
artifact-metadata: write # is needed by actions/attest-build-provenance to write artifact metadata
25+
attestations: write # is needed by actions/attest-build-provenance to push attestations
26+
contents: write # is needed by anchore/sbom-action for artifact uploads
27+
id-token: write # is needed by actions/attest-build-provenance to obtain an OIDC token
28+
packages: write # is needed to push image manifest when using GitHub Container Registry
29+
pull-requests: write # is needed by marocchino/sticky-pull-request-comment to post comments
30+
with:
31+
dockerfile: .devcontainer/base/Dockerfile
32+
enable-edge-tag: ${{ github.event_name == 'merge_group' }}
33+
image-name: ${{ github.repository }}-base
34+
integration-test-file: test/base/integration-tests.bats
35+
integration-test-podman: true
36+
37+
build-push-test-flavors:
38+
name: 🍨 ${{ matrix.flavor }}
39+
needs: build-push-test-base
40+
strategy:
41+
matrix:
42+
flavor: [cpp, rust]
43+
uses: ./.github/workflows/wc-build-push-test.yml
44+
secrets:
45+
TEST_GITHUB_TOKEN: ${{ secrets.TEST_GITHUB_TOKEN }}
46+
TEST_GITHUB_USER: ${{ secrets.TEST_GITHUB_USER }}
47+
TEST_GITHUB_PASSWORD: ${{ secrets.TEST_GITHUB_PASSWORD }}
48+
TEST_GITHUB_TOTP_SECRET: ${{ secrets.TEST_GITHUB_TOTP_SECRET }}
49+
permissions: *build-push-test-permissions
50+
with:
51+
acceptance-test-path: ${{ (github.actor != 'dependabot[bot]' && matrix.flavor == 'cpp') && 'test/cpp/features' || '' }}
52+
acceptance-test-devcontainer-file: .devcontainer/${{ matrix.flavor }}-test/devcontainer.json
53+
build-args: |
54+
BASE_IMAGE=${{ needs.build-push-test-base.outputs.fully-qualified-image-name }}@${{ needs.build-push-test-base.outputs.digest }}
55+
devcontainer-metadata-file: .devcontainer/${{ matrix.flavor }}/devcontainer-metadata.json
56+
dockerfile: .devcontainer/${{ matrix.flavor }}/Dockerfile
57+
enable-edge-tag: ${{ github.event_name == 'merge_group' }}
58+
image-name: ${{ github.repository }}-${{ matrix.flavor }}
59+
integration-test-file: test/${{ matrix.flavor }}/integration-tests.bats
60+
integration-test-podman: true

.github/workflows/continuous-integration.yml

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ concurrency:
1313
permissions: {}
1414

1515
jobs:
16-
build-push-base:
17-
name: Build → Push → Test (🍨 base)
18-
uses: ./.github/workflows/wc-build-push-test.yml
16+
build-push-test:
17+
name: Build → Push → Test
18+
uses: ./.github/workflows/build-push-test.yml
1919
permissions:
2020
actions: read # is needed by anchore/sbom-action to find workflow artifacts when attaching release assets
2121
artifact-metadata: write # is needed by actions/attest-build-provenance to write artifact metadata
@@ -24,46 +24,15 @@ jobs:
2424
id-token: write # is needed by actions/attest-build-provenance to obtain an OIDC token
2525
packages: write # is needed to push image manifest when using GitHub Container Registry
2626
pull-requests: write # is needed by marocchino/sticky-pull-request-comment to post comments
27-
with:
28-
dockerfile: .devcontainer/base/Dockerfile
29-
enable-edge-tag: ${{ github.event_name == 'merge_group' }}
30-
image-name: ${{ github.repository }}-base
31-
integration-test-file: test/base/integration-tests.bats
32-
33-
build-push-flavors:
34-
name: Build → Push → Test (🍨 ${{ matrix.flavor }})
35-
needs: build-push-base
36-
strategy:
37-
matrix:
38-
flavor: [cpp, rust]
39-
uses: ./.github/workflows/wc-build-push-test.yml
4027
secrets:
4128
TEST_GITHUB_TOKEN: ${{ secrets.TEST_GITHUB_TOKEN }}
4229
TEST_GITHUB_USER: ${{ secrets.TEST_GITHUB_USER }}
4330
TEST_GITHUB_PASSWORD: ${{ secrets.TEST_GITHUB_PASSWORD }}
4431
TEST_GITHUB_TOTP_SECRET: ${{ secrets.TEST_GITHUB_TOTP_SECRET }}
45-
permissions:
46-
actions: read # is needed by anchore/sbom-action to find workflow artifacts when attaching release assets
47-
artifact-metadata: write # is needed by actions/attest-build-provenance to write artifact metadata
48-
attestations: write # is needed by actions/attest-build-provenance to push attestations
49-
contents: write # is needed by anchore/sbom-action for artifact uploads
50-
id-token: write # is needed by actions/attest-build-provenance to obtain an OIDC token
51-
packages: write # is needed to push image manifest when using GitHub Container Registry
52-
pull-requests: write # is needed by marocchino/sticky-pull-request-comment to post comments
53-
with:
54-
build-args: |
55-
BASE_IMAGE=${{ needs.build-push-base.outputs.fully-qualified-image-name }}@${{ needs.build-push-base.outputs.digest }}
56-
devcontainer-metadata-file: .devcontainer/${{ matrix.flavor }}/devcontainer-metadata.json
57-
dockerfile: .devcontainer/${{ matrix.flavor }}/Dockerfile
58-
enable-edge-tag: ${{ github.event_name == 'merge_group' }}
59-
image-name: ${{ github.repository }}-${{ matrix.flavor }}
60-
integration-test-file: test/${{ matrix.flavor }}/integration-tests.bats
61-
acceptance-test-path: ${{ (github.actor != 'dependabot[bot]' && matrix.flavor == 'cpp') && 'test/cpp/features' || '' }}
62-
test-devcontainer-file: .devcontainer/${{ matrix.flavor }}-test/devcontainer.json
6332

6433
dependency-review:
6534
name: 🔍 Dependency Review
66-
needs: build-push-flavors
35+
needs: build-push-test
6736
uses: ./.github/workflows/wc-dependency-review.yml
6837
permissions:
6938
contents: read
@@ -75,7 +44,7 @@ jobs:
7544
permissions:
7645
checks: write # is needed by EnricoMi/publish-unit-test-result-action to add a check run with test results
7746
pull-requests: write # is needed by EnricoMi/publish-unit-test-result-action to annotate PRs
78-
needs: build-push-flavors
47+
needs: build-push-test
7948
if: ${{ !cancelled() }}
8049
steps:
8150
- uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2

.github/workflows/release-build.yml

Lines changed: 4 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ concurrency:
1313
permissions: {}
1414

1515
jobs:
16-
build-push-base:
17-
name: Build → Push → Test (🍨 base)
18-
uses: ./.github/workflows/wc-build-push-test.yml
16+
build-push-test:
17+
name: Build → Push → Test
18+
uses: ./.github/workflows/build-push-test.yml
1919
permissions:
2020
actions: read # is needed by anchore/sbom-action to find workflow artifacts when attaching release assets
2121
artifact-metadata: write # is needed by actions/attest-build-provenance to write artifact metadata
@@ -24,40 +24,11 @@ jobs:
2424
id-token: write # is needed by actions/attest-build-provenance to obtain an OIDC token
2525
packages: write # is needed to push image manifest when using GitHub Container Registry
2626
pull-requests: write # is needed by marocchino/sticky-pull-request-comment to post comments
27-
with:
28-
dockerfile: .devcontainer/base/Dockerfile
29-
image-name: ${{ github.repository }}-base
30-
integration-test-file: test/base/integration-tests.bats
31-
32-
build-push-flavors:
33-
name: Build → Push → Test (🍨 ${{ matrix.flavor }})
34-
needs: build-push-base
35-
strategy:
36-
matrix:
37-
flavor: [cpp, rust]
38-
uses: ./.github/workflows/wc-build-push-test.yml
3927
secrets:
4028
TEST_GITHUB_TOKEN: ${{ secrets.TEST_GITHUB_TOKEN }}
4129
TEST_GITHUB_USER: ${{ secrets.TEST_GITHUB_USER }}
4230
TEST_GITHUB_PASSWORD: ${{ secrets.TEST_GITHUB_PASSWORD }}
4331
TEST_GITHUB_TOTP_SECRET: ${{ secrets.TEST_GITHUB_TOTP_SECRET }}
44-
permissions:
45-
actions: read # is needed by anchore/sbom-action to find workflow artifacts when attaching release assets
46-
artifact-metadata: write # is needed by actions/attest-build-provenance to write artifact metadata
47-
attestations: write # is needed by actions/attest-build-provenance to push attestations
48-
contents: write # is needed by anchore/sbom-action for artifact uploads
49-
id-token: write # is needed by actions/attest-build-provenance to obtain an OIDC token
50-
packages: write # is needed to push image manifest when using GitHub Container Registry
51-
pull-requests: write # is needed by marocchino/sticky-pull-request-comment to post comments
52-
with:
53-
build-args: |
54-
BASE_IMAGE=${{ needs.build-push-base.outputs.fully-qualified-image-name }}@${{ needs.build-push-base.outputs.digest }}
55-
devcontainer-metadata-file: .devcontainer/${{ matrix.flavor }}/devcontainer-metadata.json
56-
dockerfile: .devcontainer/${{ matrix.flavor }}/Dockerfile
57-
image-name: ${{ github.repository }}-${{ matrix.flavor }}
58-
integration-test-file: test/${{ matrix.flavor }}/integration-tests.bats
59-
acceptance-test-path: ${{ matrix.flavor == 'cpp' && 'test/cpp/features' || '' }}
60-
test-devcontainer-file: ${{ matrix.flavor == 'cpp' && '.devcontainer/cpp-test/devcontainer.json' || '' }}
6132

6233
apply-release-notes-template:
6334
name: 📝 Apply Release Template
@@ -96,7 +67,7 @@ jobs:
9667
# Please note that this is an overly broad scope, but GitHub does not
9768
# currently provide a more fine-grained permission for release modification.
9869
contents: write # is needed to modify a release
99-
needs: [build-push-base, build-push-flavors, apply-release-notes-template]
70+
needs: [build-push-test, apply-release-notes-template]
10071
env:
10172
CONTAINER_FLAVOR: ${{ matrix.flavor }}
10273
REF_NAME: ${{ github.ref_name }}

.github/workflows/wc-build-push-test.yml

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@ name: Build, Push & Test
44
on:
55
workflow_call:
66
inputs:
7+
acceptance-test-devcontainer-file:
8+
description: Path to the devcontainer.json file to use for acceptance tests.
9+
required: false
10+
type: string
711
acceptance-test-path:
8-
description: Path to the Playwright acceptance tests (directory that contains playwright.config.ts)
12+
description: Path to the Playwright acceptance tests (directory that contains playwright.config.ts).
913
required: false
1014
type: string
1115
build-args:
12-
description: Optional docker build args (newline-separated KEY=VALUE)
16+
description: Optional docker build args (newline-separated KEY=VALUE).
1317
required: false
1418
type: string
1519
build-test-runner-labels:
@@ -38,7 +42,7 @@ on:
3842
required: true
3943
type: string
4044
enable-edge-tag:
41-
description: Whether to also build and push an "edge" tag for the image
45+
description: Whether to also build and push an "edge" tag for the image.
4246
required: false
4347
type: boolean
4448
default: false
@@ -52,9 +56,14 @@ on:
5256
required: true
5357
type: string
5458
integration-test-file:
55-
description: Path to the BATS test file to run for integration tests
59+
description: Path to the BATS test file to run for integration tests.
5660
required: false
5761
type: string
62+
integration-test-podman:
63+
description: Enable running the tests using the Podman container runtime, next to the default Docker container runtime.
64+
required: false
65+
type: boolean
66+
default: false
5867
registry:
5968
description: >-
6069
Docker registry to push built containers to.
@@ -73,10 +82,6 @@ on:
7382
required: false
7483
type: string
7584
default: '["ubuntu-latest"]'
76-
test-devcontainer-file:
77-
description: Path to the devcontainer.json file to use for acceptance tests
78-
required: false
79-
type: string
8085
outputs:
8186
digest:
8287
value: ${{ jobs.build-push.outputs.digest }}
@@ -88,10 +93,10 @@ on:
8893
value: ${{ jobs.build-push.outputs.version }}
8994
secrets:
9095
DOCKER_REGISTRY_PASSWORD:
91-
description: Password or token for Docker login, if not provided the GitHub token will be used
96+
description: Password or token for Docker login, if not provided the GitHub token will be used.
9297
required: false
9398
DOCKER_REGISTRY_USERNAME:
94-
description: User name for Docker login, if not provided the GitHub actor will be used
99+
description: User name for Docker login, if not provided the GitHub actor will be used.
95100
required: false
96101
TEST_GITHUB_PASSWORD:
97102
required: false
@@ -116,7 +121,7 @@ jobs:
116121
id-token: write # is needed by actions/attest-build-provenance to obtain an OIDC token
117122
packages: write # is needed to push image manifest when using GitHub Container Registry
118123
pull-requests: write # is needed by marocchino/sticky-pull-request-comment to post comments
119-
secrets:
124+
secrets: &docker-secrets
120125
DOCKER_REGISTRY_USERNAME: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
121126
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
122127
with:
@@ -129,27 +134,35 @@ jobs:
129134
runner-labels: ${{ inputs.runner-labels }}
130135
build-test-runner-labels: ${{ inputs.build-test-runner-labels }}
131136

132-
integration-test:
137+
integration-test-docker:
133138
name: 🧪
134139
if: ${{ inputs.integration-test-file }}
135140
needs: build-push
136-
uses: ./.github/workflows/wc-integration-test.yml
141+
uses: ./.github/workflows/wc-integration-test-docker.yml
137142
permissions:
138143
contents: read
139-
secrets:
140-
DOCKER_REGISTRY_USERNAME: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
141-
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
142-
with:
144+
secrets: *docker-secrets
145+
with: &integration-test-inputs
143146
build-test-runner-labels: ${{ inputs.build-test-runner-labels }}
144147
fully-qualified-image-name: ${{ needs.build-push.outputs.fully-qualified-image-name }}
145148
image-basename: ${{ needs.build-push.outputs.image-basename }}
146149
image-digest: ${{ needs.build-push.outputs.digest }}
147150
registry: ${{ inputs.registry }}
148151
test-file: ${{ inputs.integration-test-file }}
149152

153+
integration-test-podman:
154+
name: 🧪
155+
if: ${{ inputs.integration-test-file && inputs.integration-test-podman }}
156+
needs: build-push
157+
uses: ./.github/workflows/wc-integration-test-podman.yml
158+
permissions:
159+
contents: read
160+
secrets: *docker-secrets
161+
with: *integration-test-inputs
162+
150163
acceptance-test:
151164
name: 🏗️
152-
if: ${{ inputs.test-devcontainer-file && inputs.acceptance-test-path }}
165+
if: ${{ inputs.acceptance-test-devcontainer-file && inputs.acceptance-test-path }}
153166
needs: build-push
154167
uses: ./.github/workflows/wc-acceptance-test.yml
155168
permissions:
@@ -161,5 +174,5 @@ jobs:
161174
TEST_GITHUB_TOTP_SECRET: ${{ secrets.TEST_GITHUB_TOTP_SECRET }}
162175
with:
163176
image-basename: ${{ needs.build-push.outputs.image-basename }}
164-
devcontainer-file: ${{ inputs.test-devcontainer-file }}
177+
devcontainer-file: ${{ inputs.acceptance-test-devcontainer-file }}
165178
acceptance-test-path: ${{ inputs.acceptance-test-path }}

.github/workflows/wc-integration-test.yml renamed to .github/workflows/wc-integration-test-docker.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
---
2-
name: Integration Test
2+
name: 🐳 Integration Test
33

44
on:
55
workflow_call:
66
inputs:
7+
build-test-runner-labels:
8+
required: true
9+
type: string
710
fully-qualified-image-name:
811
required: true
912
type: string
@@ -13,26 +16,23 @@ on:
1316
image-digest:
1417
required: true
1518
type: string
16-
test-file:
17-
required: true
18-
type: string
19-
build-test-runner-labels:
19+
registry:
2020
required: true
2121
type: string
22-
registry:
22+
test-file:
2323
required: true
2424
type: string
2525
secrets:
26-
DOCKER_REGISTRY_USERNAME:
27-
required: true
2826
DOCKER_REGISTRY_PASSWORD:
2927
required: true
28+
DOCKER_REGISTRY_USERNAME:
29+
required: true
3030

3131
permissions: {}
3232

3333
jobs:
3434
run-test:
35-
name: Integration Test (${{ (startsWith(matrix.runner, '[') && endsWith(matrix.runner, ']')) && join(matrix.runner, ', ') || matrix.runner }})
35+
name: 🐳 Integration Test (${{ (startsWith(matrix.runner, '[') && endsWith(matrix.runner, ']')) && join(matrix.runner, ', ') || matrix.runner }})
3636
strategy:
3737
matrix:
3838
runner: ${{ fromJson(inputs.build-test-runner-labels) }}
@@ -62,5 +62,5 @@ jobs:
6262
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
6363
if: ${{ !cancelled() }}
6464
with:
65-
name: test-results-integration-${{ inputs.image-basename }}-${{ steps.runner-arch.outputs.arch }}
65+
name: test-results-integration-docker-${{ inputs.image-basename }}-${{ steps.runner-arch.outputs.arch }}
6666
path: test-report-*.xml

0 commit comments

Comments
 (0)