Add Podman integration tests for OCI runtime compatibility#1143
Add Podman integration tests for OCI runtime compatibility#1143
Conversation
|
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. 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:
|
Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com>
Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com>
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
✅
|
| 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 | |
| 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
Co-authored-by: rjaegers <45816308+rjaegers@users.noreply.github.com>
|
| -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
| -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
| - 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
| 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
| --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
| --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
| --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
| 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
| - 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
| 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
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
Test Results 13 files + 6 13 suites +6 17m 24s ⏱️ + 13m 29s For more details on these failures, see this check. Results for commit 8a54623. ± Comparison against base commit 558e7e8. |





Proves OCI runtime compatibility by running integration tests on both Docker (GitHub Actions
container:key) and Podman.Changes
New workflow:
wc-integration-test-podman.ymlpodman run-podman-suffix for distinctionUpdated:
wc-build-push-test.ymlintegration-test-podmanjob running in parallel with existingintegration-testImplementation
Docker tests continue using GitHub's native container execution:
Podman tests install runtime and execute explicitly:
Both test paths run on x64 and ARM64 runners. Test results publish automatically via existing workflow.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.