Skip to content

Fix release: build release-assets and publish via gh CLI#59

Merged
djacu merged 2 commits into
mainfrom
harden/gh-release-cli
Jul 6, 2026
Merged

Fix release: build release-assets and publish via gh CLI#59
djacu merged 2 commits into
mainfrom
harden/gh-release-cli

Conversation

@djacu

@djacu djacu commented Jul 6, 2026

Copy link
Copy Markdown
Member

What

Fixes the release workflow and finishes the zizmor cleanup, in one PR:

  1. New release-assets package — one derivation bundling the branding guide PDF + the public media-kit logos, flattened. Restores the content of the nixos-media-kit package (removed in b1e12e2) combined with the guide.
  2. Release job rewired — builds release-assets (one build step instead of two) and publishes with gh release create instead of softprops/action-gh-release.

Why

  • The release job built .#nixos-branding.nixos-media-kit, which was removed in b1e12e2 ("nixos-branding.nixos-media-kit: remove"). That attribute no longer exists, so the release workflow has been broken at "Build Media Kit" ever since — this restores a working release.
  • Dropping the third-party release action clears zizmor's superfluous-actions finding and removes third-party code from the contents: write release job.
  • gh release create fails if the release already exists (no accidental overwrite) and fails if a file glob matches nothing (fail loudly on a missing artifact) — both are the behavior we want.

Parity

Release-asset content is unchanged from before the media-kit removal: the guide PDF + the 52 public logos, flat. Verified by building release-assets and diffing its file set against deployed-assets — identical to documents + logos, excluding internals and the generated index.html.

Verification

  • Built release-assets: guide PDF + 52 public logo SVGs
  • nix flake check: pass
  • actionlint: clean
  • zizmor: superfluous-actions cleared. The only remaining findings are the excessive-permissions set (the separate permissions-hardening PR).

Note

gh release create fails if a release for the tag already exists (intentional — avoids overwriting a published release). A re-run after a partial failure requires deleting the release first.

djacu added 2 commits July 5, 2026 22:34
Assets attached to a GitHub release: the branding guide plus the public
media-kit logos, flattened into one buildable package. Restores the
content of the removed nixos-media-kit (b1e12e2) combined with the guide,
excluding the internal logos and the index.html files that deployed-assets
generates for the Netlify web deploy.
The release job built .#nixos-branding.nixos-media-kit, which was removed
in b1e12e2, so the release workflow has been broken at "Build Media Kit"
since. Build the new release-assets package instead (guide + public logos
in one derivation) and upload its contents.

Also replace softprops/action-gh-release with the pre-installed gh CLI
(clears zizmor superfluous-actions), removing third-party code from the
contents:write release job. gh release create fails if the release already
exists and if a file glob matches nothing, which is the intended behavior:
no accidental overwrite of an existing release, and fail loudly on a
missing artifact.
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

Artifact comparison

0 modified · 0 added · 0 deleted · 96 unchanged

Download report — HTML file; open in a browser.

Compared
  • Base: 3b1b29cd39e5d334aad02c1eb261d6362d169fef (current main tip when this ran)
  • After: 4b1ab1ce71869084e587324f29eb844cf393c264 (merge commit; falls back to PR head if unmergeable)

@djacu djacu merged commit b873be3 into main Jul 6, 2026
5 checks passed
@djacu djacu deleted the harden/gh-release-cli branch July 6, 2026 06:17
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