ci(build-tauri): expose Linux AppImage and deb as standalone release artifacts#1301
Conversation
…artifacts After `make package`, aw-tauri's package target already builds AppImage and deb alongside the zip — they land in dist/activitywatch/aw-tauri/ but weren't exposed as standalone files matching the Upload step's dist/activitywatch-*.* glob. Add a Linux-specific step (mirroring the existing macOS 'Package dmg' step) that copies the AppImage and deb out to dist/ with the standard naming convention. Closes ActivityWatch#1300
Greptile SummaryThis PR adds a Linux-specific CI step that copies the aw-tauri-produced
Confidence Score: 4/5Safe to merge; the change is additive and only affects the Linux packaging step — no existing behavior is modified. The copy logic is straightforward and mirrors the existing macOS dmg step. The two nits (missing else-branch warning for deb, no non-zero exit when artifacts are absent) are easy to address but won't break current builds or releases. .github/workflows/build-tauri.yml — specifically the deb discovery block and the overall step exit behavior. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Package step\nmake package] --> B{runner.os}
B -- macOS --> C[Package dmg step\nbuild + sign + notarize\nmv to dist/activitywatch-tauri-VERSION-macos-ARCH.dmg]
B -- Linux --> D[Package AppImage and deb step\nfind dist/activitywatch/aw-tauri/]
B -- Windows --> E[no extra step]
D --> F{AppImage found?}
F -- yes --> G[cp to dist/activitywatch-tauri-VERSION-linux-ARCH.AppImage]
F -- no --> H[echo Warning, continue]
D --> I{deb found?}
I -- yes --> J[cp to dist/activitywatch-tauri-VERSION-linux-ARCH.deb]
I -- no --> K[silent, no warning]
G --> L[Upload packages\ndist/activitywatch-*.*]
J --> L
H --> L
C --> L
E --> L
K --> L
Reviews (1): Last reviewed commit: "ci(build-tauri): expose Linux AppImage a..." | Re-trigger Greptile |
|
Superseded by #1302, which also handles .rpm and uses nullglob for cleaner no-op behavior when bundles are absent. |
Fixes #1300.
Problem
After
make package, aw-tauri already builds an.AppImageand.deb— these land insidedist/activitywatch/aw-tauri/(and end up zipped inside the.ziprelease). But the Upload step only picks up files matchingdist/activitywatch-*.*, so the AppImage and deb were never exposed as standalone downloadable artifacts in CI or releases.The macOS workflow already has a dedicated "Package dmg" step that moves the
.dmgtodist/with the right name. Linux had no equivalent.Fix
Add a Linux-specific step (mirroring "Package dmg") that copies the AppImage and deb out to
dist/using the standard naming convention:These then get picked up by the existing
Upload packagesstep and included in releases.Test plan
activitywatch-tauri-*-linux-x86_64.AppImageand.debin the uploaded artifacts for the ubuntu runnersaarch64variants