Switch container publish from Kaniko to Buildah (amd64 only) #45
Labels
No labels
bug
contribution welcome
duplicate
enhancement
good first issue
help wanted
invalid
question
upstream
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Reference
marvin8/fedinesia#45
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The CI container publish step has been failing with a Kaniko HTTP/2 stream error against codeberg.org's registry:
The error occurs during Kaniko's pre-flight push-permission check, before any build work starts. Adding push_retry has no effect at this stage. Kaniko's registry client uses HTTP/2 and there is no way to force HTTP/1.1 through the Woodpecker plugin settings.
Buildah is the standard non-privileged alternative. It uses HTTP/1.1 for registry communication by default and can run without a Docker daemon using --isolation=chroot. Multi-platform (arm64) builds are dropped; amd64 only.
Plan of attack
woodpeckerci/plugin-kanikowithquay.io/buildah/stablein.woodpecker/docker-publish.yamlplatforms:— amd64 only, matching the CI runner--isolation=chrootavoids needing privileged mode;--storage-driver=vfsavoids overlay fs requirementsauto_tagin shell: parseCI_COMMIT_TAG(e.g.3.7.1) into3.7.1,3.7,3, andlatesttagsbuildah loginwith existingdocker_username/docker_passwordsecretsBranch:
fix/issue-45-buildah-publishChange of direction
After working through Kaniko HTTP/2 CANCEL errors, Buildah blocked by missing user-namespace support on Codeberg's runners, and Woodpecker plugin/environment schema conflicts, CI-based container publishing has been abandoned on this PR.
Instead, container publishing is moving to a local
just publish-containerrecipe in the justfile. This fits the existing manual release workflow (just release) and removes all CI registry secrets and workarounds. The dry-run Containerfile build check inchecks.ymlis kept so CI still catches a brokenContainerfileon PRs.