Skip to content

ci: attach the static binaries to the release - #692

Merged
kolyshkin merged 1 commit into
containers:mainfrom
kolyshkin:ci-release-assets
Aug 26, 2026
Merged

ci: attach the static binaries to the release#692
kolyshkin merged 1 commit into
containers:mainfrom
kolyshkin:ci-release-assets

Conversation

@kolyshkin

@kolyshkin kolyshkin commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Pushing a v* tag already builds the static binaries for all five architectures, but they are left as workflow artifacts: cutting a release means downloading five of them by hand and uploading them again, which is how conmon.amd64 & co. ended up on v2.2.1. Do it in the workflow instead.

If no release exists for the tag yet — a tag pushed on its own, rather than one created along with a release from the web UI — the job creates a draft, so that the release notes can be written before anything is announced. Publishing the release is what triggers packit's downstream sync to Fedora and CentOS Stream, so it matters that the workflow does not publish anything by itself.

Testing

The upload job only runs on a v* tag, so a PR run does not exercise it at all. It was tested by pushing a scratch tag to my fork, with the cachix push dropped for that run since a fork has no CACHIX_AUTH_TOKEN (reading from the cache still works). The tag, the branch and the draft release have since been deleted.

The draft was created, the five assets were attached under the same names v2.2.1 uses, and the downloaded conmon.amd64 is a stripped, statically linked ELF that runs and reports its version.

Pushing a v* tag already builds the static binaries for all five
architectures, but they are left as workflow artifacts: cutting a
release means downloading five of them by hand and uploading them
again, which is how conmon.amd64 & co. ended up on v2.2.1.

Do it in the workflow instead. If no release exists for the tag yet --
a tag pushed on its own, rather than one created along with a release
from the web UI -- create a draft one, so that the release notes can be
written before anything is announced: publishing the release is what
triggers packit's downstream sync to Fedora and CentOS Stream.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kolyshkin
kolyshkin requested a review from jnovy August 26, 2026 02:18

@jnovy jnovy left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM. Clean, well-motivated CI improvement. Good security posture (scoped permissions, pinned actions), correct handling of the merge-gate job dependency, thoughtful draft-vs-published distinction for packit, and idempotent re-run behavior.

@kolyshkin
kolyshkin merged commit f4cefcd into containers:main Aug 26, 2026
31 checks passed
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.

2 participants