Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jul 29, 2025

This PR restructures the GitHub Actions workflow to separate build and publish operations into individual jobs for each architecture, improving parallelization and providing better control over CI/CD processes.

Changes Made

Previous Structure

  • Single build job handled both architectures (linux/amd64, linux/arm64)
  • Mixed build validation and publishing responsibilities
  • Limited parallelization and harder to troubleshoot arch-specific issues

New Structure

Build Jobs (PRs, main, tags):

  • build-amd64: Tests linux/amd64 builds without publishing
  • build-arm64: Tests linux/arm64 builds without publishing

Publish Jobs (schedule, main):

  • publish-amd64: Builds and publishes linux/amd64 images with -amd64 suffix
  • publish-arm64: Builds and publishes linux/arm64 images with -arm64 suffix
  • create-manifest: Combines both architectures into a multi-arch manifest

Benefits

  • Better Parallelization: Each architecture builds independently, reducing overall CI/CD time
  • Clear Separation: Build validation is separate from publishing, reducing complexity
  • Architecture-Specific Control: Individual job control and troubleshooting per architecture
  • Optimized Caching: Separate cache scopes for each architecture improve build performance
  • Backward Compatibility: Final images still support both amd64 and arm64 architectures seamlessly

Validation

The workflow has been thoroughly tested to ensure:

  • Build jobs run on PRs, main, and tags without pushing to registry
  • Publish jobs run on schedule and main branch with registry publishing
  • All platform configurations are correct (linux/amd64, linux/arm64)
  • Multi-arch manifest creation works properly
  • Job dependencies and execution conditions are validated

Documentation has been updated to explain the new CI/CD pipeline structure and its benefits.

Fixes #3.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits July 29, 2025 21:54
Co-authored-by: niteshpurohit <2043084+niteshpurohit@users.noreply.github.com>
Co-authored-by: niteshpurohit <2043084+niteshpurohit@users.noreply.github.com>
Copilot AI changed the title [WIP] Seprate build jobs for publish and archs Separate build and publish jobs for each architecture Jul 29, 2025
Copilot AI requested a review from niteshpurohit July 29, 2025 21:59
@niteshpurohit niteshpurohit marked this pull request as ready for review July 29, 2025 22:12
@niteshpurohit niteshpurohit merged commit 1e48b82 into main Jul 29, 2025
5 checks passed
@niteshpurohit niteshpurohit deleted the copilot/fix-3 branch July 29, 2025 22:12
niteshpurohit added a commit that referenced this pull request Jul 29, 2025
niteshpurohit added a commit that referenced this pull request Jul 29, 2025
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.

Seprate build jobs for publish and archs

2 participants