Skip to content

Add Podman integration tests for OCI runtime compatibility#1143

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/test-compatibility-with-podman
Draft

Add Podman integration tests for OCI runtime compatibility#1143
Copilot wants to merge 4 commits intomainfrom
copilot/test-compatibility-with-podman

Conversation

Copy link

Copilot AI commented Feb 6, 2026

Proves OCI runtime compatibility by running integration tests on both Docker (GitHub Actions container: key) and Podman.

Changes

  • New workflow: wc-integration-test-podman.yml

    • Installs Podman on Ubuntu runners
    • Pulls image and executes BATS tests via podman run
    • Uploads results with -podman- suffix for distinction
  • Updated: wc-build-push-test.yml

    • Added integration-test-podman job running in parallel with existing integration-test
    • Both jobs use identical test files and runner matrix

Implementation

Docker tests continue using GitHub's native container execution:

container:
  image: ${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }}

Podman tests install runtime and execute explicitly:

- name: Run integration tests using Podman
  run: |
    podman run --rm \
      -v "${{ github.workspace }}:${{ github.workspace }}" \
      -w "${{ github.workspace }}" \
      -e IMAGE_BASENAME="${IMAGE_BASENAME}" \
      ${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }} \
      bats --formatter junit "${TEST_FILE}"

Both test paths run on x64 and ARM64 runners. Test results publish automatically via existing workflow.

Original prompt

Prove compatibility with multiple OCI runtimes by running the integration tests on Podman next to the current GitHub native 'container:' way


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

Hey there and thank you for opening this pull request! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.

⚠️ Details

No release type found in pull request title "Add Podman integration tests for OCI runtime compatibility". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
  • ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit

Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com>
- name: Login to container registry
run: |
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD || github.token }}" | \
podman login ${{ inputs.registry }} \

Check failure

Code scanning / SonarCloud

GitHub Actions should not be vulnerable to script injections High

Change this workflow to not use user-controlled data directly in a run block. See more on SonarQube Cloud
Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-base:edgeghcr.io/philips-software/amp-devcontainer-base:pr-1143

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 174.05 MB 174.05 MB 976 B (0%) 🔽
linux/arm64 166.57 MB 166.57 MB +18 B (+0%) 🔼

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 22 0 0 0.55s
✅ DOCKERFILE hadolint 3 0 0 0.64s
✅ GHERKIN gherkin-lint 6 0 0 2.34s
✅ JSON npm-package-json-lint yes no no 0.39s
✅ JSON prettier 21 4 0 0 0.64s
✅ JSON v8r 21 0 0 19.78s
✅ MARKDOWN markdownlint 12 0 0 0 0.92s
✅ MARKDOWN markdown-table-formatter 12 0 0 0 0.24s
✅ REPOSITORY checkov yes no no 16.58s
✅ REPOSITORY gitleaks yes no no 0.54s
✅ REPOSITORY git_diff yes no no 0.01s
✅ REPOSITORY grype yes no no 29.12s
✅ REPOSITORY secretlint yes no no 0.95s
✅ REPOSITORY syft yes no no 1.91s
✅ REPOSITORY trivy yes no no 5.66s
✅ REPOSITORY trivy-sbom yes no no 0.25s
✅ REPOSITORY trufflehog yes no no 2.23s
⚠️ SPELL lychee 82 1 0 21.73s
✅ YAML prettier 30 0 0 0 0.89s
✅ YAML v8r 30 0 0 7.67s
✅ YAML yamllint 30 0 0 0.86s

Detailed Issues

⚠️ SPELL / lychee - 1 error
[IGNORED] docker://pandoc/extra:3.7.0@sha256:a703d335fa237f8fc3303329d87e2555dca5187930da38bfa9010fa4e690933a | Unsupported: Error creating request client: builder error for url (docker://pandoc/extra:3.7.0@sha256:a703d335fa237f8fc3303329d87e2555dca5187930da38bfa9010fa4e690933a)
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
[IGNORED] https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/philips-software/amp-devcontainer | Unsupported: Error creating request client: builder error for url (vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/philips-software/amp-devcontainer)
📝 Summary
---------------------
🔍 Total..........126
✅ Successful.....123
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........1

Errors in .github/TOOL_VERSION_ISSUE_TEMPLATE.md
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.3.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,DOCKERFILE_HADOLINT,GHERKIN_GHERKIN_LINT,JSON_V8R,JSON_PRETTIER,JSON_NPM_PACKAGE_JSON_LINT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_GRYPE,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security

Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com>
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 6, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
E Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Copilot AI changed the title [WIP] Run integration tests with Podman for OCI runtimes compatibility Add Podman integration tests for OCI runtime compatibility Feb 6, 2026
Copilot AI requested a review from rjaegers February 6, 2026 16:28
-e IMAGE_BASENAME="${IMAGE_BASENAME}" \
-e TEST_FILE="${TEST_FILE}" \
-e RUNNER_ARCH="${RUNNER_ARCH}" \
${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }} \

Check failure

Code scanning / zizmor

code injection via template expansion Error

code injection via template expansion
-e IMAGE_BASENAME="${IMAGE_BASENAME}" \
-e TEST_FILE="${TEST_FILE}" \
-e RUNNER_ARCH="${RUNNER_ARCH}" \
${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }} \

Check failure

Code scanning / zizmor

code injection via template expansion Error

code injection via template expansion
- name: Login to container registry
run: |
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD || github.token }}" | \
podman login ${{ inputs.registry }} \

Check failure

Code scanning / zizmor

code injection via template expansion Error

code injection via template expansion
run: |
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD || github.token }}" | \
podman login ${{ inputs.registry }} \
--username "${{ secrets.DOCKER_REGISTRY_USERNAME || github.actor }}" \

Check failure

Code scanning / zizmor

code injection via template expansion Error

code injection via template expansion
--password-stdin
- name: Pull container image
run: |
podman pull ${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }}

Check failure

Code scanning / zizmor

code injection via template expansion Error

code injection via template expansion
--password-stdin
- name: Pull container image
run: |
podman pull ${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }}

Check warning

Code scanning / zizmor

code injection via template expansion Warning

code injection via template expansion
--password-stdin
- name: Pull container image
run: |
podman pull ${{ inputs.fully-qualified-image-name }}@${{ inputs.image-digest }}

Check warning

Code scanning / zizmor

code injection via template expansion Warning

code injection via template expansion
run: |
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD || github.token }}" | \
podman login ${{ inputs.registry }} \
--username "${{ secrets.DOCKER_REGISTRY_USERNAME || github.actor }}" \

Check warning

Code scanning / zizmor

code injection via template expansion Warning

code injection via template expansion
- name: Login to container registry
run: |
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD || github.token }}" | \
podman login ${{ inputs.registry }} \

Check warning

Code scanning / zizmor

code injection via template expansion Warning

code injection via template expansion
podman --version
- name: Login to container registry
run: |
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD || github.token }}" | \

Check warning

Code scanning / zizmor

code injection via template expansion Warning

code injection via template expansion
@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-rust:edgeghcr.io/philips-software/amp-devcontainer-rust:pr-1143

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 554.46 MB 554.46 MB 1.13 kB (0%) 🔽
linux/arm64 508.69 MB 508.69 MB +37 B (+0%) 🔼

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-cpp:edgeghcr.io/philips-software/amp-devcontainer-cpp:pr-1143

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 695.77 MB 695.76 MB 1.4 kB (0%) 🔽
linux/arm64 676.63 MB 676.63 MB +901 B (+0%) 🔼

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

Test Results

 13 files  + 6   13 suites  +6   17m 24s ⏱️ + 13m 29s
 33 tests ± 0   31 ✅  -  2  0 💤 ±0  2 ❌ +2 
137 runs  +68  135 ✅ +66  0 💤 ±0  2 ❌ +2 

For more details on these failures, see this check.

Results for commit 8a54623. ± Comparison against base commit 558e7e8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants