Skip to content

ci: switch image publishing to docker/github-builder#2008

Merged
PromoFaux merged 1 commit intopi-hole:developmentfrom
crazy-max:github-builder
Mar 17, 2026
Merged

ci: switch image publishing to docker/github-builder#2008
PromoFaux merged 1 commit intopi-hole:developmentfrom
crazy-max:github-builder

Conversation

@crazy-max
Copy link

follow-up docker/buildx#3708 (comment)

Description

This PR switches the image build and publish workflow to the Docker GitHub Builder reusable workflow. This keeps the multi-platform image publishing flow while reducing repository-specific GitHub Actions logic.

More info: https://docs.docker.com/build/ci/github-actions/github-builder/

Motivation and Context

This change simplifies the CI pipeline compared to Docker's distributed multi-runner workflow. It removes the need for custom per-platform orchestration, digest artifact handoff, and a separate manifest merge step. It also gives us a more consistent Docker-maintained build path with better provenance and lower maintenance overhead.

How Has This Been Tested?

The workflow configuration was reviewed to confirm that the build arguments, tag strategy, publishing targets, and push behavior remain aligned with the current process. No application runtime code paths were changed in this PR. End-to-end validation will occur in the next development workflow run and the next release publication.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

cc @yubiuser

@crazy-max crazy-max requested a review from a team as a code owner March 16, 2026 13:45
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
- development
release:
types: [published]
pull_request:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added pull_request event so workflow can be tested to avoid regressions. We could probably merge build-and-publish.yml with this one as follow-up.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll follow this up - I don't recall exactly why I split publish/test out to two distinct workflows, but I think it was just to keep things nice and readable. Less of an issue now...

@rdwebdesign
Copy link
Member

Thanks!

@PromoFaux
Copy link
Member

End-to-end validation will occur in the next development workflow run and the next release publication.

We can pre-check the development workflow on the experimental branch

https://github.com/pi-hole/docker-pi-hole/actions/runs/23194244321

Copy link
Member

@PromoFaux PromoFaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked on experimental branch - looks good to me

@PromoFaux PromoFaux merged commit 9b0e152 into pi-hole:development Mar 17, 2026
19 checks passed
@PromoFaux
Copy link
Member

Thanks @crazy-max - I go on holiday for one week and come back to a vastly simplified* build yaml... I should go on holiday more often! 😅

* Though I understand the actual process in the background is just as, if not more, complex than what this replaces. I like that it effectively offloads the actual build implementation logic to a Docker-maintained workflow

@crazy-max crazy-max deleted the github-builder branch March 17, 2026 12:58
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.

3 participants