Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
0c2015a
Initial plan
Copilot Feb 6, 2026
9a89c91
Add Podman integration tests for OCI runtime compatibility
Copilot Feb 6, 2026
269bf0d
Pass environment variables to Podman container
Copilot Feb 6, 2026
8a54623
Add comment clarifying Ubuntu runner requirement for Podman
Copilot Feb 6, 2026
aa27255
Fix code injection vulnerabilities in Podman workflow
Copilot Feb 10, 2026
5891521
Merge branch 'main' into copilot/test-compatibility-with-podman
rjaegers Feb 10, 2026
2f5b5c1
Fix DNS resolution issue in Podman tests by using host network
Copilot Feb 20, 2026
9abfa4a
chore(deps, rust): update github.vscode-pull-request-github in devcon…
philips-software-forest-releaser[bot] Feb 10, 2026
7857c0b
chore(deps): bump conan from 2.25.1 to 2.25.2 in /.devcontainer (#1149)
dependabot[bot] Feb 13, 2026
aa1f4fe
ci(deps): bump the github-actions group with 4 updates (#1151)
dependabot[bot] Feb 13, 2026
965666b
test(deps): bump the npm group with 4 updates (#1150)
dependabot[bot] Feb 13, 2026
218e65d
chore(deps, base): update g++-14 (#1156)
philips-software-forest-releaser[bot] Feb 17, 2026
ec93132
chore(deps, cpp): update ms-vscode.cpptools in devcontainer-metadata.…
philips-software-forest-releaser[bot] Feb 17, 2026
31ea3e8
chore(deps, rust): update rust-lang.rust-analyzer in devcontainer-met…
philips-software-forest-releaser[bot] Feb 17, 2026
138b2e5
chore(deps, cpp): update alexkrechik.cucumberautocomplete, ms-vscode.…
philips-software-forest-releaser[bot] Feb 17, 2026
e441bff
chore(deps, rust): update rust-lang.rust-analyzer in devcontainer.jso…
philips-software-forest-releaser[bot] Feb 18, 2026
1f05c32
Initial plan
Copilot Feb 6, 2026
d34bb7b
Merge branch 'main' into copilot/test-compatibility-with-podman
rjaegers Feb 20, 2026
3d287dd
Merge branch 'main' into copilot/test-compatibility-with-podman
rjaegers Feb 23, 2026
06d1031
ci: minor updates
rjaegers Feb 23, 2026
75ac14c
Merge branch 'main' into copilot/test-compatibility-with-podman
rjaegers Feb 23, 2026
1a7b277
Merge branch 'main' into copilot/test-compatibility-with-podman
rjaegers Feb 24, 2026
0942a2f
ci: process review comments
rjaegers Feb 24, 2026
a021052
Merge branch 'main' into copilot/test-compatibility-with-podman
rjaegers Feb 25, 2026
4508d51
ci: make podman tests optional
rjaegers Feb 26, 2026
2f143c5
ci: reduce duplication
rjaegers Feb 26, 2026
5ab54a1
ci: fix workflow needs
rjaegers Feb 26, 2026
6488602
ci: remove concurrency from workflow_call workflow
rjaegers Feb 26, 2026
6c0f10f
ci: pass secrets to workflow
rjaegers Feb 26, 2026
ca9025c
ci: correct syntax for passing secrets
rjaegers Feb 26, 2026
aae1dd9
Merge branch 'main' into copilot/test-compatibility-with-podman
rjaegers Feb 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/wc-build-push-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,24 @@ jobs:
registry: ${{ inputs.registry }}
test-file: ${{ inputs.integration-test-file }}

integration-test-podman:
name: 🧪 Podman
if: ${{ inputs.integration-test-file }}
needs: build-push
uses: ./.github/workflows/wc-integration-test-podman.yml
permissions:
contents: read
secrets:
DOCKER_REGISTRY_USERNAME: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
with:
build-test-runner-labels: ${{ inputs.build-test-runner-labels }}
fully-qualified-image-name: ${{ needs.build-push.outputs.fully-qualified-image-name }}
image-basename: ${{ needs.build-push.outputs.image-basename }}
image-digest: ${{ needs.build-push.outputs.digest }}
registry: ${{ inputs.registry }}
test-file: ${{ inputs.integration-test-file }}

acceptance-test:
name: 🏗️
if: ${{ inputs.test-devcontainer-file && inputs.acceptance-test-path }}
Expand Down
94 changes: 94 additions & 0 deletions .github/workflows/wc-integration-test-podman.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
name: Integration Test (Podman)

on:
workflow_call:
inputs:
build-test-runner-labels:
required: true
type: string
fully-qualified-image-name:
required: true
type: string
image-basename:
required: true
type: string
image-digest:
required: true
type: string
registry:
required: true
type: string
test-file:
required: true
type: string
secrets:
DOCKER_REGISTRY_PASSWORD:
required: true
DOCKER_REGISTRY_USERNAME:
required: true

permissions: {}

jobs:
run-test:
name: Integration Test Podman (${{ (startsWith(matrix.runner, '[') && endsWith(matrix.runner, ']')) && join(matrix.runner, ', ') || matrix.runner }})
Comment thread
rjaegers marked this conversation as resolved.
Outdated
strategy:
matrix:
runner: ${{ fromJson(inputs.build-test-runner-labels) }}
runs-on: ${{ matrix.runner }}
permissions:
contents: read
steps:
- uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1
Comment thread Fixed
with:
disable-sudo: false
egress-policy: audit
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install Podman
run: |
# Install Podman on Ubuntu (Ubuntu 20.10+ has Podman in default repositories)
# This workflow is designed for Ubuntu runners (ubuntu-latest, ubuntu-24.04-arm)
sudo apt-get update
sudo apt-get install -y podman
podman --version
- name: Login to container registry
run: |
echo "${REGISTRY_PASSWORD}" | \
podman login "${REGISTRY}" \
--username "${REGISTRY_USERNAME}" \
--password-stdin
env:
REGISTRY: ${{ inputs.registry }}
Comment thread
rjaegers marked this conversation as resolved.
Outdated
REGISTRY_USERNAME: ${{ secrets.DOCKER_REGISTRY_USERNAME || github.actor }}
REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD || github.token }}
- name: Pull container image
run: |
podman pull "${IMAGE_WITH_DIGEST}"
env:
IMAGE_WITH_DIGEST: ${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }}
- run: echo "arch=$(echo "${RUNNER_ARCH}" | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
id: runner-arch
- name: Run integration tests using Podman
run: |
podman run --rm \
-v "${WORKSPACE}:${WORKSPACE}" \
-w "${WORKSPACE}" \
-e IMAGE_BASENAME="${IMAGE_BASENAME}" \
-e TEST_FILE="${TEST_FILE}" \
-e RUNNER_ARCH="${RUNNER_ARCH}" \
"${IMAGE_WITH_DIGEST}" \
bats --formatter junit "${TEST_FILE}" | tee "test-report-${IMAGE_BASENAME}-podman-${RUNNER_ARCH}.xml"
env:
IMAGE_BASENAME: ${{ inputs.image-basename }}
Comment thread
rjaegers marked this conversation as resolved.
IMAGE_WITH_DIGEST: ${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }}
RUNNER_ARCH: ${{ steps.runner-arch.outputs.arch }}
TEST_FILE: ${{ inputs.test-file }}
WORKSPACE: ${{ github.workspace }}
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: ${{ !cancelled() }}
with:
name: test-results-integration-podman-${{ inputs.image-basename }}-${{ steps.runner-arch.outputs.arch }}
path: test-report-*.xml
Loading