Skip to content

Fix Cloudsmith publish step broken by cloudsmith-cli release-layout change - #6316

Merged
Andriy Knysh (aknysh) merged 3 commits into
mainfrom
osterman/investigate-workflow-failure
Aug 5, 2026
Merged

Fix Cloudsmith publish step broken by cloudsmith-cli release-layout change#6316
Andriy Knysh (aknysh) merged 3 commits into
mainfrom
osterman/investigate-workflow-failure

Conversation

@osterman

Copy link
Copy Markdown
Member

what

  • Replaces cloudsmith-io/action@v0.6.10 with a new local composite action, .github/actions/cloudsmith-push, for the "Push artifact to package repository" step.
  • Regenerates all ~122 .github/workflows/*.yml package workflows from the updated .github/package-template.yml (mechanical substitution only, no other changes).

why

  • cloudsmith-io/action@v0.6.10's install step downloads GitHub release assets[0] for "latest" cloudsmith-cli and execs it directly. That only worked because cloudsmith-cli used to publish a single raw binary; it now publishes separate per-platform .tar.gz archives, so assets[0] can resolve to the wrong architecture or a non-executable archive, breaking every apk/deb/rpm publish with Exec format error (e.g. https://github.com/cloudposse/packages/actions/runs/31040732661/job/92428197131).
  • Bumping the action's pin doesn't fix it: the latest release (v0.6.14) switches to a Python-based install requiring actions/setup-python, which doesn't support the Alpine/musl containers this repo builds packages in.
  • The new local action installs a pinned, known-good cloudsmith-cli release directly (the statically-linked musl build, portable across musl and glibc containers) and invokes cloudsmith push itself, removing the fragile dependency on an unpinned upstream "latest release" lookup.

references

…-layout change

cloudsmith-io/action@v0.6.10's install step naively downloads GitHub
release assets[0] for "latest" cloudsmith-cli and execs it directly.
That worked only because cloudsmith-cli used to publish a single raw
binary; it now publishes separate per-platform .tar.gz archives, so
assets[0] can resolve to the wrong architecture (or a non-executable
archive), breaking every apk/deb/rpm publish with "Exec format error".

Bumping the action's pin doesn't fix it: v0.6.14 switches to a
Python-based install that requires actions/setup-python, which
doesn't support the Alpine/musl containers this repo builds in.

Replace the dependency on cloudsmith-io/action with a small local
composite action (.github/actions/cloudsmith-push) that installs a
pinned, known-good cloudsmith-cli release directly (the static musl
build, portable across musl and glibc containers) and invokes
`cloudsmith push` itself. Regenerated all package workflows from the
updated template via `make -C .github workflows`.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The "musl" cloudsmith-cli tarball is dynamically linked against musl
(interpreter /lib/ld-musl-x86_64.so.1), not statically linked as
assumed. That path only exists on Alpine, so every deb/rpm publish job
(glibc-based containers) failed with "No such file or directory" execing
the binary. Select the musl vs gnu variant based on the container
(/etc/alpine-release), not unconditionally.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
aquasecurity/trivy deleted the v0.68.2 GitHub release (the git tag
still exists, but there's no published Release, so every download of
trivy_0.68.2_Linux-64bit.tar.gz 404s). This broke both the trivy
apk build (alpine-trivy) and the build-and-push Dockerfile step,
which installs trivy as one of the build-time tools baked into the
base image. Verified the new version's release assets resolve for
all platforms this repo builds.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@aknysh Andriy Knysh (aknysh) added the major Breaking changes (or first stable release) label Aug 5, 2026
@aknysh
Andriy Knysh (aknysh) merged commit 0665bd0 into main Aug 5, 2026
699 checks passed
@aknysh
Andriy Knysh (aknysh) deleted the osterman/investigate-workflow-failure branch August 5, 2026 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github major Breaking changes (or first stable release) vendor/trivy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants