Skip to content

fix(ci): use buildx imagetools for multi-arch manifest creation#79

Merged
shikhar merged 1 commit intomainfrom
fix/docker-manifest-provenance
Feb 19, 2026
Merged

fix(ci): use buildx imagetools for multi-arch manifest creation#79
shikhar merged 1 commit intomainfrom
fix/docker-manifest-provenance

Conversation

@shikhar
Copy link
Member

@shikhar shikhar commented Feb 19, 2026

Summary

  • docker manifest create fails when source images are manifest lists, which happens on newer runners where buildx adds provenance attestations
  • Replaced docker manifest create + docker manifest push with docker buildx imagetools create, which handles manifest list inputs natively

Test plan

  • Trigger a release and verify the create-manifest job succeeds

🤖 Generated with Claude Code

`docker manifest create` fails when source images are manifest lists,
which happens on newer runners where buildx adds provenance attestations.
`docker buildx imagetools create` handles this natively.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@shikhar shikhar force-pushed the fix/docker-manifest-provenance branch from 7236c02 to 31c530b Compare February 19, 2026 22:59
@greptile-apps
Copy link

greptile-apps bot commented Feb 19, 2026

Greptile Summary

Replaced raw docker build + docker push commands with docker/build-push-action@v6 and added provenance: false to prevent buildx from creating manifest lists with provenance attestations. This fixes the issue where docker manifest create fails when trying to compose multi-arch manifests from nested manifest lists.

  • Consolidated build and push steps into a single action
  • Added docker/setup-buildx-action@v3 to properly configure buildx
  • Set provenance: false to disable attestations that cause manifest list conflicts
  • Maintained same tags and build target (runtime)

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The change correctly addresses a known Docker buildx issue with provenance attestations. The implementation follows Docker's official best practices by using build-push-action with provenance disabled. All build parameters (context, target, tags) are preserved from the original implementation.
  • No files require special attention

Important Files Changed

Filename Overview
.github/workflows/release-plz.yml Replaced raw docker commands with build-push-action to prevent provenance attestation conflicts

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[release-plz job] -->|creates release| B{Release created?}
    B -->|true| C[build-images: x86-64]
    B -->|true| D[build-images: arm64]
    B -->|false| E[End]
    
    C --> F[Setup Buildx]
    D --> G[Setup Buildx]
    
    F --> H[Build & Push with provenance=false]
    G --> I[Build & Push with provenance=false]
    
    H --> J[Single-platform image x86-64]
    I --> K[Single-platform image arm64]
    
    J --> L[create-manifest job]
    K --> L
    
    L --> M[docker manifest create]
    M --> N[Multi-arch manifest]
    N --> O[docker manifest push]
    
    style H fill:#90EE90
    style I fill:#90EE90
    style J fill:#90EE90
    style K fill:#90EE90
Loading

Last reviewed commit: 31c530b

@shikhar shikhar changed the title fix(ci): use build-push-action to prevent manifest list conflict fix(ci): use buildx imagetools for multi-arch manifest creation Feb 19, 2026
@shikhar shikhar merged commit 2a3deae into main Feb 19, 2026
4 checks passed
@shikhar shikhar deleted the fix/docker-manifest-provenance branch February 19, 2026 23:01
@github-actions github-actions bot mentioned this pull request Feb 19, 2026
shikhar pushed a commit that referenced this pull request Feb 19, 2026
## 🤖 New release

* `cachey`: 0.10.1 -> 0.10.2

<details><summary><i><b>Changelog</b></i></summary><p>

<blockquote>

##
[0.10.2](0.10.1...0.10.2)
- 2026-02-19

### Fixed

- *(ci)* use buildx imagetools for multi-arch manifest creation
([#79](#79))

### Other

- add conventional commit check for PR titles
([#81](#81))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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