Skip to content

Unblock the v0.2.4 release gates - #9

Merged
rengwu merged 2 commits into
mainfrom
fix/appimage-smoke-quoting
Aug 20, 2026
Merged

Unblock the v0.2.4 release gates#9
rengwu merged 2 commits into
mainfrom
fix/appimage-smoke-quoting

Conversation

@rengwu

@rengwu rengwu commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Summary

Three release-blocking defects, two of them latent behind the first.

  • AppImage smoke was unparseable. An apostrophe in a comment (GTK's) closed the single-quoted container script early. RC3 rendered the cockpit at mean brightness 15/255, then exited 127 at that boundary. CI now runs bash -n scripts/*.sh.
  • Native-package smoke asserts an icon that is no longer shipped. 1e45e70 moved the icon bands to SVG masters; the smoke still required /usr/share/icons/hicolor/512x512/apps/chartr.png. This step has not run since v0.2.3, so it would have failed the moment RC4 got past the AppImage gate.
  • The attach job silently dropped every Linux asset. upload-artifact roots the artifact at the common ancestor of its path globs, so the download arrives split across appimage/ and packages/, not flat. Every lookup missed, every architecture was skipped without complaint, and gh release upload linux-desktop/* then choked on a directory. v0.2.3 carries no AppImage, deb or rpm asset at all and its /releases/latest/download/ links point at nothing. The download is now flattened first, and a missing architecture fails loudly.

Evidence

  • RC3 amd64: screenshot: mean brightness 15/255 across 780 colours then exit code 127.
  • RC2 printed WM_CLASS(STRING) = "chartr", "Chartr", which is what the assertion (and StartupWMClass) now expect, so that check should pass once it is reachable.
  • v0.2.3 run 31629892889: read linux-desktop/appimage: is a directory; gh release view v0.2.3 lists no Linux desktop assets.
  • The alias step was replayed locally against the real split layout: 6 aliases created, 24 files, zero directories left in the upload set.

Not verified here

The deb/rpm smoke and the attach job cannot run outside CI (no Docker on this machine). These fixes are read from the artifact layout and the nfpm payload rather than from a green run, so RC4 is still the real test.

rengwu added 2 commits August 21, 2026 00:13
The AppImage smoke gate has failed on every v0.2.4 RC, so the deb/rpm
smoke and the asset attach behind it have not run since v0.2.3. Both
carry a regression.

The native-package smoke still asserts a 512x512 PNG icon. nfpm stopped
shipping one in 1e45e70, which lands the icon bands as SVG masters
instead, so the deb smoke would have failed the moment it ran.

The attach job reads the desktop artifacts as a flat directory, but
upload-artifact roots the artifact at the common ancestor of its path
globs and the download arrives split across appimage/ and packages/.
Every lookup missed, every architecture was skipped without complaint,
and the upload then choked on a directory in its glob -- which is why
v0.2.3 carries no AppImage, deb or rpm asset at all and the README's
/releases/latest/download links point at nothing. Flatten the download
first, and fail loudly rather than silently skipping an architecture.
@rengwu rengwu changed the title Keep AppImage smoke script parseable Unblock the v0.2.4 release gates Aug 20, 2026
@rengwu
rengwu merged commit be8073f into main Aug 20, 2026
3 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.

1 participant