Skip to content

ci: use OCI artifacts for PR image tests#85

Merged
Amnoor merged 2 commits intodevelopfrom
ci/pr-tests-artifact-build
Apr 4, 2026
Merged

ci: use OCI artifacts for PR image tests#85
Amnoor merged 2 commits intodevelopfrom
ci/pr-tests-artifact-build

Conversation

@Amnoor
Copy link
Copy Markdown
Member

@Amnoor Amnoor commented Apr 4, 2026

Summary

This PR updates .github/workflows/pr-tests.yml to stop pushing PR test images to Docker Hub and instead pass the built image between jobs as an OCI artifact. The test workflow now uploads the multi-arch build output from build-image, downloads it in test-image, extracts a per-architecture image into the local Docker daemon with skopeo, and removes the artifact after testing. The artifact name now includes the pull request number so concurrent PR runs do not share the same artifact identifier.

Files Changed

Added:

  • None

Modified:

  • .github/
    • workflows/
      • pr-tests.yml

Deleted:

  • None

Key Changes

  • Removed the Login to Docker Hub step from build-image and changed the Build Image step in .github/workflows/pr-tests.yml from push: true to push: false with outputs: type=oci,dest=image.tar, so the workflow produces a local OCI archive instead of publishing a PR image to Docker Hub.
  • Added Upload Docker Image Artifact in build-image using actions/upload-artifact@v4 to persist image.tar as docker-image-pr-${{ github.event.pull_request.number }} for the downstream test job.
  • Removed the Docker Hub login and docker pull flow from test-image, changed TEST_IMAGE from runtimenode/test:pr-${{ github.event.pull_request.number }} to test:pr-${{ github.event.pull_request.number }}, and added Download Docker Image Artifact plus Extract single-arch image with Skopeo so each matrix entry loads its own linux/amd64 or linux/arm64 image as test:pr-<number>-<arch>.
  • Updated every docker run assertion in test-image to resolve ${{ matrix.platform }} into ARCH and run against ${{ env.TEST_IMAGE }}-$ARCH, keeping the existing smoke and integrity checks while testing the locally extracted per-architecture image.
  • Added artifact-clean-up job with geekyeggo/delete-artifact@v4 to remove docker-image-pr-${{ github.event.pull_request.number }} after test-image completes.

@Amnoor Amnoor merged commit 574959c into develop Apr 4, 2026
5 checks passed
@Amnoor Amnoor deleted the ci/pr-tests-artifact-build branch April 4, 2026 11:41
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.

1 participant