ci: take the release pipeline's action majors together - #58
Merged
Conversation
download-artifact v7 -> v8 and tauri-action v0.6.2 -> v1.0.0, landed in one commit because they only ever run together and each one's Dependabot pull request went stale the moment the other merged. upload-artifact v6 -> v7 went ahead of them in #54. Neither is exercised by any pull request: release.yml runs on a tag and nothing else. What follows is the compatibility review that stands in for a check, per change. download-artifact v8 has the one real breaking change of the three. A digest mismatch is now an error rather than a warning, and the action no longer unzips a download whose Content-Type says it is not a zip. Both exist to support v7's direct (unzipped) uploads; this pipeline uploads ordinary zipped artifacts and downloads them in the same run, so the second is inert and the first is a straight gain -- a corrupted transfer now fails the release instead of publishing a damaged asset. tauri-action v1.0.0 carries eight breaking changes and none of them reach this workflow: - The step passes `projectPath` and `args`, nothing else. The renamed inputs (assetNamePattern, includeUpdaterJson) and the removed ones (includeRelease, includeDebug, updaterJsonKeepUniversal, project auto-init) are all unused. - No `tagName`, so this is the build-only path and the new "update the name and body of an existing release" behaviour cannot fire. The publish job still owns the release and its CHANGES.md notes. - `.app.tar.gz` and its signature now carry the version. Nothing here reads them: "Stage release assets" collects an explicit extension allowlist (dmg, deb, rpm, AppImage, msi, exe, msix, and the two skillkeeper-cli archives), which never included the updater bundles. - Tauri v1 and unstable v2 support is dropped; this app is on 2.11.5. Two v1 changes do land on this layout, and the workflow already satisfies both. Runner detection now fails loudly when a lockfile is present but its package manager is not installed -- corepack and `pnpm install --frozen-lockfile` both run before this step. And lockfile detection now walks up the tree, so with `projectPath: apps/desktop` and the only pnpm-lock.yaml at the repository root, v1 finds a lockfile where v0.6.2 found none. The worst case there is a redundant install. The real check is a release candidate: RC tags are cut from develop, publish as a pre-release, and releases/latest/download never resolves to a pre-release, so one cannot reach install.sh users.
This was referenced Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #55 and #56. Landed as one commit because the two only ever run together, and each one's Dependabot pull request went stale the moment the other merged -- two rebase cycles for a two-line diff.
upload-artifactv6 -> v7 went ahead of them in #54.Neither action is exercised by any pull request:
release.ymlruns on a tag and nothing else. The compatibility review below stands in for a check.download-artifactv7 -> v8The one real breaking change of the three:
digest-mismatchdefaults toerror).Content-Typesays it is not a zip.Both exist to support v7's direct (unzipped) uploads. This pipeline uploads ordinary zipped artifacts and downloads them in the same run, so the second is inert and the first is a straight gain: a corrupted transfer now fails the release instead of publishing a damaged asset.
tauri-actionv0.6.2 -> v1.0.0Eight breaking changes upstream, none of which reach this workflow:
assetNamePattern->releaseAssetNamePattern,includeUpdaterJson->uploadUpdaterJsonprojectPathandargsincludeRelease,includeDebug,updaterJsonKeepUniversal, project auto-inittagName, so this is the build-only path; thepublishjob still owns the release and its CHANGES.md notes.app.tar.gzand.signow carry the versiondmg,deb,rpm,AppImage,msi,exe,msix, and the twoskillkeeper-cli-*archives) that never included the updater bundlesTwo v1 changes do land on this layout, and the workflow already satisfies both:
Enable pnpm via corepackandInstall dependencies (frozen lockfile)both run before this step.projectPath: apps/desktopand the onlypnpm-lock.yamlat the repository root, v1 finds a lockfile where v0.6.2 found none. Worst case is a redundant install.Verification
setup-uvv10 (#57) was verified for real rather than reviewed:docs.ymlhasworkflow_dispatch, so it ran end-to-end on the Dependabot branch --Install uvandDeploy docsboth succeeded.There is no equivalent for
release.yml. The check for this one is a release candidate: RC tags are cut fromdevelop, publish as a GitHub pre-release, andreleases/latest/download/...-- what both one-line installers use -- never resolves to a pre-release, so an RC cannot reach users.