Skip to content

fix(release): stop publishing broken .app.zip and updater artifacts - #11

Merged
TheFoot merged 1 commit into
mainfrom
fix/release-artifacts-cleanup
Jul 7, 2026
Merged

fix(release): stop publishing broken .app.zip and updater artifacts#11
TheFoot merged 1 commit into
mainfrom
fix/release-artifacts-cleanup

Conversation

@TheFoot

@TheFoot TheFoot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #10 — the MarkDoc_aarch64.app.zip on the v0.1.6 release looked installable but launched with RBSRequestErrorDomain Code=5 "Launch failed." because codesign reported the bundle's sealed resources were missing.

Two independent issues in the release pipeline were producing junk assets on every release:

  1. .app.tar.gz + .sig — Tauri updater payloads. MarkDoc has no updater plugin (no tauri-plugin-updater, no plugins.updater config), so these are useless to end users but were still being generated by bundle.targets: "all" and uploaded by tauri-action.
  2. .app.zip — created by the attach-app-bundles job, which used actions/upload-artifact@v4 to move the signed .app from the macOS runner to a Linux runner and re-zip it. That round-trip drops the extended attributes and resources that the code signature seals, producing the "code has no resources but signature indicates they must be present" state the reporter observed.

The DMGs are fine and remain the macOS install path.

Changes

  • src-tauri/tauri.conf.json: enumerate bundle.targets explicitly (no updater) and set bundle.createUpdaterArtifacts: false.
  • .github/workflows/release.yml: remove the two Upload macOS .app Bundle steps and the entire attach-app-bundles job.
  • CLAUDE.md: update the release-workflow description; note which assets are published and why the updater payloads are suppressed.

Assets after this change

Just the installers users actually need:

  • macOS: MarkDoc_<v>_aarch64.dmg, MarkDoc_<v>_x64.dmg
  • Windows: MarkDoc_<v>_x64_en-US.msi, MarkDoc_<v>_x64-setup.exe
  • Linux: MarkDoc_<v>_amd64.deb, MarkDoc-<v>-1.x86_64.rpm, MarkDoc_<v>_amd64.AppImage

Test plan

  • cargo check --locked — validates tauri.conf.json schema (new createUpdaterArtifacts field, enumerated targets)
  • Cut a patch release via Create Release workflow and confirm the release page contains only the seven installer assets above
  • Download the aarch64.dmg, install, and launch on Apple Silicon
  • Note about existing v0.1.6 assets: the broken .app.zip / .app.tar.gz files are still on the v0.1.6 release page. Should be deleted separately after merge.

MarkDoc has no updater plugin, but the release pipeline was still
uploading Tauri updater payloads (`*.app.tar.gz`, `*.sig`) and a
separately-built `*.app.zip` that arrives on macOS with its signed
resources stripped by `actions/upload-artifact@v4`'s zip round-trip —
so any user grabbing the zip gets a bundle that fails to launch with
"code has no resources but signature indicates they must be present".

- Set `bundle.createUpdaterArtifacts: false` and enumerate targets
  explicitly (drops the updater target that `"all"` implies).
- Remove the `attach-app-bundles` job and its upload-artifact steps.
- Update CLAUDE.md release-pipeline description.

Closes #10.
@TheFoot
TheFoot merged commit 89dbb77 into main Jul 7, 2026
2 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.

aarch64.app.zip release asset installs but fails to launch (updater payload published as if installable)

1 participant