Repository navigation
Conversation
… silently A cache-restored aw-tauri target/ can hold a previous version's .deb next to the new one. aw-tauri's `package` then fails copying bundle/deb/*.deb onto one file. The package loop ignored that failure, and the Linux packaging step skipped missing bundles, so the job went green with no AppImage/deb/rpm (e.g. master's build of ee43e3b). - Remove aw-tauri/src-tauri/target/{release,debug}/bundle before building aw-tauri. - Fail the package loop when a module's package step or copy fails. - Require exactly one AppImage, deb and rpm in the Linux Tauri packaging step.
|
@greptileai review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
|
Reviewing the cache-cleanup and fail-fast packaging paths, including whether all Linux matrix variants produce the three required bundle types. I will post the verification results here; no code changes or merge yet. |
TimeToBuildBob
left a comment
There was a problem hiding this comment.
Reviewed 86a43a0664cda60fb960c35057bd18cbebb726da: no blocking findings.
Executed eight isolated behavioral checks against the changed Makefile recipes and the actual Linux workflow shell:
- Missing bundles and a duplicate deb fail; exactly one AppImage/deb/rpm passes.
- A module's failing
make packageand a missing copy source stop the parent packaging loop; successful packaging passes. - Both cached release/debug bundle directories are removed before the Tauri build, while compile-cache files survive and staged modules remain executable.
The pinned aw-tauri config uses bundle.targets = "all", its Linux package recipe already requires all three formats, and the Linux matrix includes standard x86_64, ARM64 and research builds. The stricter workflow check matches that existing contract. The research rebuild retains the configured version, so it does not reintroduce the previous-version collision this fixes.
YAML parsing passed. Full desktop builds were not run locally; CI was still pending at review time. Recommend merging once required CI passes. No code changes needed.
🤖 AI code reviewThis PR changes the Linux Tauri build and packaging pipeline so that missing or stale bundle artifacts fail the build instead of being silently skipped. In the Makefile, the build loop now removes aw-tauri's cached bundle directories before building, and the package loop now aborts with an error if a module's package step or the subsequent copy fails. In the release workflow, the Linux Tauri packaging step now requires exactly one .AppImage, .deb, and .rpm bundle, failing the job if any is missing or duplicated. Safe to merge — no P0/P1 findingsConfidence 5/5 ✅ No thread-worthy findings. Advisory notes follow; they are retained without opening review threads. 1 advisory finding (summary-only, not scored)These P2 guard, heuristic, trade-off, or documentation claims are retained for judgment without opening review threads.
This is a How this was verified: static preflight: fix-commit + touched-files scan (rule 7) Files changed (2) — the diff as I read it
Reviewed Maintainer commands
|
Linux Tauri jobs can finish green without producing any AppImage/deb/rpm.
Seen in: master's build of ee43e3b (
Build Tauri artifacts (ubuntu-24.04), success) and #1509's run, where the new AppImage gate was the first step to notice (could not extract activitywatch-tauri*-linux-*.AppImage, i.e. the glob matched nothing).Cause: the cargo cache restores
aw-tauri/src-tauri/target/, including an earlier build'sbundle/. With a previous version's.debnext to the new one, aw-tauri'spackagerunscp src-tauri/target/release/bundle/deb/*.deb target/package/aw-tauri/aw-tauri.debwith two sources and fails (cp: target '…/aw-tauri.deb': No such file or directory). Two silent steps then hide it:packageloop ignores a module'smake packagefailure;continues when there's no bundle of a type.Fix:
Makefilebuild loop: removeaw-tauri/src-tauri/target/{release,debug}/bundlebefore building aw-tauri (next to the existingmodules/wipe). This only drops bundler output; the cached compile artifacts stay.Makefilepackage loop: fail when a module'spackageor its copy fails. In fix(release): don't bundle libwayland into the Tauri AppImage, and gate it #1509's run, aw-tauri was the only module whose package step failed.release.yml: the Linux Tauri packaging step requires exactly one.AppImage,.deband.rpm.Checked:
make -n build|package(Tauri and Qt, withAW_EXTRAS) passesbash -n, and the YAML parses. This unblocks #1509's AppImage gate.