Skip to content

ci: update binfmt to qemu-v10.2.3-68 to unblock argocd-helmfile publishing - #4543

Draft
kb-yusukekimura wants to merge 4 commits into
masterfrom
ci-update-qemu-binfmt
Draft

ci: update binfmt to qemu-v10.2.3-68 to unblock argocd-helmfile publishing#4543
kb-yusukekimura wants to merge 4 commits into
masterfrom
ci-update-qemu-binfmt

Conversation

@kb-yusukekimura

Copy link
Copy Markdown
Contributor

概要

chatwork/argocd-helmfile が 2026-07-09 の 3.4.4-1.7.0 を最後に公開できていません。
push job が連続で失敗しており、argo-cd 3.4.5 / 3.4.6 / 3.5.0 と helmfile 1.7.1〜1.7.3 が利用者に届いていない状態です。

原因は CI の binfmt ピンが tonistiigi/binfmt:qemu-v7.0.0-28(QEMU 7.0.0、2022年4月)に固定されていることです。
argo-cd 上流が v3.4.5 で土台を Ubuntu 25.10 から 26.04 LTS に変更した結果、古い QEMU では helm 展開時の tarFunction not implemented(ENOSYS)で落ちます。

push job はマージ後にしか走らないため、PR の CI は常に緑に見えていました。これが4週間気付かれなかった理由です。

変更内容

  • push job の binfmt を qemu-v7.0.0-28 から qemu-v10.2.3-68 へ更新
  • test job の Set up QEMU を削除
  • argocd-helmfile/Dockerfile.tplDockerfile にエミュレーション制約を説明するコメントを追加

test job から QEMU を外してよい根拠

  • --platform linux/amd64,linux/arm64 は31箇所あり、すべて push ターゲット配下。build ターゲットにクロスビルドは存在しない
  • docker-compose*.ymlplatform: 指定なし
  • FROM --platform= を使う Dockerfile なし

副次効果として、test job に出ていた Failed to restore / cache write denied: token has no writable scopes の警告も解消される見込みです。

argocd-helmfile にコメントを足している理由

ルート Makefileci:diff は変更ファイルのディレクトリ名を出力しますが、.github/workflows/integration.yamlsed の処理で空文字になり脱落します。
ワークフローだけを変更した PR をマージしても ci:diff が空になり、argocd-helmfile は再ビルドされません。
公開を実際に再開させるために argocd-helmfile/ 配下にも変更が必要でした。

DockerfileDockerfile.tpl からの生成物(variant.mod の provisioners で宣言)のため、両方に同じコメントを入れています。コメントにテンプレート変数を含めていないので、次回の再生成でも差分は出ません。

検証

(検証ジョブ実行後に追記します)

レビュー時の注意

現在は退行検証用の一時ジョブ(verify-emulation-setup / verify-emulation)と一時 input を含むドラフトです。
31ディレクトリ × 両エミュレート方向 = 62ジョブを --output=type=cacheonly(Docker Hub には書き込まない)で回し、新しい binfmt が他イメージに退行を起こさないことを確認します。
マージ前にこれらの一時ブロックを削除して ready for review にします。

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