Skip to content

ci: add -tauri suffix to Tauri build release assets#1262

Open
ErikBjare wants to merge 2 commits intomasterfrom
ci/tauri-artifact-names
Open

ci: add -tauri suffix to Tauri build release assets#1262
ErikBjare wants to merge 2 commits intomasterfrom
ci/tauri-artifact-names

Conversation

@ErikBjare
Copy link
Copy Markdown
Member

Summary

  • Both build.yml and build-tauri.yml upload to the same GitHub release with identical filenames, causing silent overwrites
  • Adds -tauri suffix to Tauri build filenames so both aw-qt and Tauri assets coexist

Before: activitywatch-v0.14.0b1-linux-x86_64.zip (ambiguous)
After: activitywatch-tauri-v0.14.0b1-linux-x86_64.zip (Tauri) vs activitywatch-v0.14.0b1-linux-x86_64.zip (aw-qt)

Affects zip, dmg, and Windows setup.exe. AppImage and deb are aw-qt only, unchanged.

Both build.yml and build-tauri.yml upload to the same GitHub release
with identical filenames, causing one to silently overwrite the other.
Add "-tauri" to Tauri build filenames (zip, dmg, setup.exe) so both
aw-qt and Tauri assets coexist on the same release.
@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Apr 13, 2026

Greptile Summary

This PR disambiguates release asset filenames by adding a -tauri suffix to all Tauri-built packages (zip, dmg, Windows setup.exe), preventing silent overwrites when both build.yml and build-tauri.yml upload assets to the same GitHub release. The implementation uses a build_suffix variable in package-all.sh (empty for aw-qt, -tauri for Tauri builds) and hardcodes the prefix in the Package dmg step in build-tauri.yml; the logic is correct and aw-qt builds remain unaffected.

Confidence Score: 5/5

Safe to merge; the suffix logic is correct and aw-qt builds are unaffected. The one comment is a minor improvement opportunity, not a blocker.

All remaining findings are P2 style/improvement suggestions. The core fix (preventing filename collisions via -tauri suffix) is implemented correctly across zip, dmg, and setup.exe. The build_suffix variable defaults to empty so aw-qt builds are unchanged.

.github/workflows/build-tauri.yml line 167 — hardcoded x86_64 arch in DMG filename, harmless for x86 but misleading on ARM Mac runners.

Important Files Changed

Filename Overview
scripts/package/package-all.sh Adds build_suffix variable (empty or -tauri) used in zip and setup.exe filenames; also copies Linux helper scripts into the Tauri dist dir before zipping. Logic is correct and backward-compatible.
.github/workflows/build-tauri.yml DMG rename step now uses activitywatch-tauri- prefix; arch is still hardcoded to x86_64 even though macos-latest is ARM64 on GitHub Actions, producing incorrectly-named DMG assets for ARM Mac builds.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[package-all.sh called] --> B{TAURI_BUILD == 'true'?}
    B -- Yes --> C[build_suffix = '-tauri']
    B -- No --> D[build_suffix = '']
    C --> E[build_zip: activitywatch-tauri-VERSION-OS-ARCH.zip]
    D --> F[build_zip: activitywatch-VERSION-OS-ARCH.zip]
    E --> G{platform == windows?}
    F --> H{platform == windows?}
    G -- Yes --> I[build_setup: activitywatch-tauri-VERSION-windows-ARCH-setup.exe]
    H -- Yes --> J[build_setup: activitywatch-VERSION-windows-ARCH-setup.exe]
    subgraph build-tauri.yml macOS step
        K[make dist/ActivityWatch.dmg] --> L[mv to activitywatch-tauri-VERSION-macos-x86_64.dmg]
    end
    subgraph build.yml macOS step
        M[make dist/ActivityWatch.dmg] --> N[mv to activitywatch-VERSION-macos-x86_64.dmg]
    end
Loading

Reviews (1): Last reviewed commit: "ci: add -tauri suffix to Tauri build rel..." | Re-trigger Greptile

make dist/notarize
fi
mv dist/ActivityWatch.dmg dist/activitywatch-${VERSION_TAG:-$(scripts/package/getversion.sh)}-macos-x86_64.dmg
mv dist/ActivityWatch.dmg dist/activitywatch-tauri-${VERSION_TAG:-$(scripts/package/getversion.sh)}-macos-x86_64.dmg
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 DMG arch hardcoded to x86_64 on ARM runner

The filename uses a literal x86_64 even though macos-latest on GitHub Actions now defaults to an M1/ARM64 runner. On an ARM Mac host, $(uname -m) returns arm64, so the DMG asset will be mislabeled. package-all.sh already derives the arch dynamically for the zip — the same approach should be used here.

Suggested change
mv dist/ActivityWatch.dmg dist/activitywatch-tauri-${VERSION_TAG:-$(scripts/package/getversion.sh)}-macos-x86_64.dmg
mv dist/ActivityWatch.dmg dist/activitywatch-tauri-${VERSION_TAG:-$(scripts/package/getversion.sh)}-macos-$(uname -m).dmg

The same pre-existing issue exists in build.yml line 181 (activitywatch-${VERSION_TAG:-...}-macos-x86_64.dmg), but this PR is a good opportunity to fix it for the Tauri variant at least.

macOS runners are now arm64, so the DMG was mislabeled. Use uname -m
to get the actual architecture, consistent with package-all.sh.
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