Skip to content

Publish version-less stable-name download aliases - #45

Merged
emir-hasanbegovic merged 1 commit into
mainfrom
feat/stable-download-aliases
Aug 24, 2026
Merged

Publish version-less stable-name download aliases#45
emir-hasanbegovic merged 1 commit into
mainfrom
feat/stable-download-aliases

Conversation

@emir-hasanbegovic

Copy link
Copy Markdown
Contributor

What

Every package job now uploads its artifact twice: the versioned name (unchanged) plus a version-less stable name:

  • dish-amd64.deb
  • dish-x86_64.rpm
  • Dish-x86_64.AppImage
  • Dish-x86_64.flatpak

releases/latest/download/<name> is therefore a permanent link to the newest published build — the same contract latest.json already relies on, and the same one dish-windows ships for dish-setup.exe. This lets dish-website (and the gh-pages landing page) link "the latest build" without a rebuild per release.

The aliases are staged inside each build job, so the shared harden job covers them with SHA256SUMS, cosign keyless signatures, and SLSA provenance like every other asset. No .zsync/.sha256 aliases: AppImageUpdate matches the versioned pattern, and SHA256SUMS covers the alias.

Also

  • The gh-pages landing page's AppImage section now gives a copy-pasteable curl -fLO of the stable link instead of a Dish-X.Y.Z placeholder the reader had to fill in from the releases page.
  • Version bump to 0.2.0 (CMakeLists, AppStream release entry, CHANGELOG) — additive release-pipeline change, no client changes.

The workflow header and CHANGELOG document the stable names as a public API: once linked, renaming one silently breaks downloads in the field.

…kage

dish-amd64.deb, dish-x86_64.rpm, Dish-x86_64.AppImage and
Dish-x86_64.flatpak are now uploaded alongside the versioned files, so
releases/latest/download/<name> is a permanent link to the newest
build, matching latest.json which already worked that way. The repo
landing page's AppImage instructions use the stable link instead of a
placeholder filename the reader had to fill in.

The aliases are staged before the harden job, so SHA256SUMS, the
cosign signatures and the SLSA provenance cover them.
@emir-hasanbegovic
emir-hasanbegovic enabled auto-merge (squash) August 24, 2026 15:39
@emir-hasanbegovic
emir-hasanbegovic merged commit d3ce377 into main Aug 24, 2026
13 checks passed
@emir-hasanbegovic
emir-hasanbegovic deleted the feat/stable-download-aliases branch August 24, 2026 15:53
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