Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Digest Export and Manifest Creation for Multi-Arch Docker Builds #521

Draft
wants to merge 20 commits into
base: develop
Choose a base branch
from

Conversation

Bcoderx6
Copy link

@Bcoderx6 Bcoderx6 commented Sep 1, 2024

This pull request enhances the Docker image build workflow to support exporting image digests and creating a manifest list for multi-architecture Docker builds. The changes include:

  • Digest Export: The build job now exports digests for each platform and uploads them as artifacts.
  • Manifest Creation: The merge job downloads all digests and creates a manifest list with these digests for each platform.
  • Simulated Image Inspection: Added steps to simulate image inspection and creation of a manifest list.

The login and logout steps for DockerHub are currently commented out. Uncomment these steps if DockerHub authentication is required. The workflow now supports linux/amd64, linux/arm64, linux/arm/v6, and linux/arm/v7 platforms.

This commit enhances our GitHub Actions workflow to support multi-architecture 
Docker builds with proper digest handling. Key changes include:

- Build and push Docker images for amd64, arm64, arm/v6, and arm/v7 architectures
- Implement digest collection and artifact uploading for each architecture
- Create a manifest list combining all architecture-specific images
- Add conditional execution to skip pushes on pull requests
- Improve error handling and add Docker logout steps for security

These updates enable us to efficiently build and distribute our Docker images 
across multiple architectures, improving compatibility and streamlining our 
deployment process. Users can now pull the appropriate image for their system 
architecture automatically.
@Bcoderx6
Copy link
Author

Bcoderx6 commented Sep 1, 2024

@viferga

@viferga viferga marked this pull request as draft September 17, 2024 20:22
@viferga
Copy link
Member

viferga commented Sep 17, 2024

I converted it into draft because as there is no test related to it, we will need to review this in order to check if it works properly. Meanwhile the PR has no tests or it has not been tested by us, it will remain as a draft.

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