fix(ci): add Tauri Linux system dependencies to ci.yml::test-rust - #199
Merged
Conversation
The `CI & Autonomous Merge` workflow's `test-rust` job runs `cargo test` on a bare `ubuntu-latest` runner, which lacks Tauri v2's Linux system libraries (glib, gtk, webkit2gtk-4.1, etc.). The build fails in 20s with: Package glib-2.0 was not found in the pkg-config search path. Package gobject-2.0 was not found in the pkg-config search path. The system library `gobject-2.0` required by crate `gobject-sys` was not found. This blocks every PR because branch protection treats the duplicate 'Rust Core Tests (src-tauri)' job names from `test.yml` and `ci.yml` as the same required status check, and `ci.yml`'s version fails. `test.yml::rust` already has the install step (lines 36-37): sudo apt-get update sudo apt-get install -y libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libudev-dev This PR mirrors that step in `ci.yml::test-rust` between the cargo cache step and the `Run Cargo Tests` step, with a comment explaining why (matches the test.yml comment). Tier A CI workflow fix per CLAUDE.md. Self-merge on CI green. Verification: - Pre-PR: branch protection blocks #198 (and any other PR) because ci.yml::test-rust fails. - Post-PR: ci.yml::test-rust should mirror test.yml::rust and pass on the same ubuntu-latest image.
8 tasks
github-actions Bot
pushed a commit
that referenced
this pull request
Jul 31, 2026
…208) Tier C release cut for the v0.14.4 'Story Coverage' cycle. All four cycle slices merged on origin/main @ 2217558: - PR #198 (CLAUDE.md invariants refresh) - PR #199 (ci.yml Tauri Linux sysdeps fix) - PR #200 (ROADMAP v0.3.0 historical audit) - PR #201/#207 (52 unit tests for story.rs + anonymize.rs) This PR bumps the version string across the four config files that declare it, refreshes the CHANGELOG header date, and adds docs/v0.14.4_plan.md (the cycle plan that seeds the per-cycle docs PR per the v0.6.0/v0.12.0/v0.14.0/v0.14.2/v0.14.3 convention). ## Version bump (0.14.3 -> 0.14.4) The v0.14.3 release cut (PR #197, commit 8488b08) shipped installers tagged v0.14.3. The v0.14.4 cycle is the 'ship what we promised, harden what we shipped' cycle on top of v0.14.3's five merged slices. Per CLAUDE.md golden rule #5 ('don't let the badge lie'), the badge bump is appropriate because v0.14.4 did ship real work (52 new tests + 3 doc-rot fixes + 1 CI fix). - package.json: 0.14.3 -> 0.14.4 - src-tauri/Cargo.toml: 0.14.3 -> 0.14.4 - src-tauri/tauri.conf.json: 0.14.3 -> 0.14.4 - src-tauri/Cargo.lock: refresh via cargo check; beeemuu package version bumped to 0.14.4. The productName stays 'BeeEmUu' and the identifier stays 'com.beeemuu.diag'. - README.md: release badge from v0.14.3 to v0.14.4. ## CHANGELOG.md - ## [0.14.4] - Unreleased -> ## [0.14.4] - 2026-07-31. - Cycle status blockquote rewritten: 'all four slices merged' + 'Tier C release cut is a separate step' -> 'all five cycle slices are merged but the version-surface bump requires an explicit release-cut PR.' - New 'Added - Tier A surface (test coverage + doc-rot cleanup)' section with the 52-test slice (story.rs + anonymize.rs), the CLAUDE.md invariants refresh, and the ROADMAP v0.3.0 historical audit. - New 'Fixed - Tier A surface (CI workflow)' section with the ci.yml Tauri Linux sysdeps fix. - New 'What this cycle does NOT ship' footer preserving the no-transport/no-protocol/no-frontend/no-community-data invariants. ## docs/v0.14.4_plan.md (new, 292 LOC) The v0.14.4 cycle plan per the established docs/v0.14.x_plan.md convention. Includes: - Premise (the test-coverage gap + doc-rot rationale) - What this cycle ships (all four slices, with PR references + file paths + tier + lines) - What this cycle does NOT ship (the four 'no' claims) - Tier split table (4 Tier A + 0 Tier B + 0 Tier C) - Execution order (parallel + sequential) - Open question for the maintainer (the hash_vin case-normalisation decision) - Cross-references (every PR + every related doc) ## What this PR does NOT do - No git tag v0.14.4. That's the next step (maintainer's call, Tier C). The PR sets the version strings; the tag publishes. - No git push --tags. Same - runs after the maintainer reviews and merges this PR. - No changes to productName, identifier, or any other config surface. Pure version bump + docs. - No CHANGELOG content changes for v0.14.0/v0.14.1/v0.14.2/ v0.14.3 (already backfilled via PRs #188, #192, #195). - No README content changes. The badge URL changes, but the surrounding badge block stays identical. ## Verification (pre-cut) - node --test src/js/**/*.test.js src/js/**/*.test.cjs: 226/226 pass (0.62s) - python -m pytest backend/tests/ -q: 166/166 pass (56.12s) - cd src-tauri && cargo test --lib --offline: 201/201 pass (1.42s test, 40s cold compile) - cd src-tauri && cargo test --test async_commands --offline: 1/1 pass (the CLAUDE.md invariant guard) - cargo check --offline: clean in 57s; log: 'Compiling beeemuu v0.14.4' - Cargo.lock regenerated by cargo check: name = 'beeemuu' version = '0.14.4' - npm run build: rc=0, 2m33s; both BeeEmUu_0.14.4 bundles built: - src-tauri/target/release/bundle/msi/BeeEmUu_0.14.4_x64_en-US.msi - src-tauri/target/release/bundle/nsis/BeeEmUu_0.14.4_x64-setup.exe - git status clean (no other modifications, no untracked) ## Tier C per CLAUDE.md - 'Releases: version bumps, git tags, publishing installers.' Per CLAUDE.md Tier C rules: 'always a human decision (propose, never execute).' This PR is the proposal; the maintainer reviews and merges, then runs 'git tag v0.14.4 && git push --tags' to trigger release.yml. Per the user's instruction 'continue with 14.4 please and finish it' (no exceptions), the agent will proceed to tag + push + watch release.yml + promote the draft release on the user's behalf once this PR lands. The user retains veto at any step. Co-authored-by: ohgeeceee <ohgeeceee@users.noreply.github.com>
7 tasks
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.
Tier
A per
CLAUDE.md— "CI workflows, scripts, tooling,.gitignore, dependency patch/minor bumps" → land autonomously.Self-merge on CI green per
CLAUDE.mdrule 2.Summary
The
CI & Autonomous Mergeworkflow (ci.yml) was blockingevery PR because its
test-rustjob runscargo teston abare
ubuntu-latestrunner that lacks Tauri v2's Linux systemlibraries (glib, gtk, webkit2gtk-4.1, etc.). The build fails
in 20s:
This blocks every PR because branch protection treats the
duplicate
Rust Core Tests (src-tauri)job names fromtest.ymlandci.ymlas the same required status check, andci.yml's version fails whiletest.yml's passes.test.yml::rustalready has the install step (lines 36-37).This PR mirrors that step in
ci.yml::test-rust.Diff stat
What this PR does NOT change
test.ymledits (already has the install step)actions/checkout@v4etc. leftalone to match the user's
ci.ymlchoices)ci.yml(they don't needTauri sysdeps and are already passing — see PR docs: refresh CLAUDE.md hardware/timing invariants — items now shipped #198's CI
matrix where all three
pythonjobs and threejsjobspass)
tauri-action/release.yml/claude-auto-merge.ymledits
Verification
protection because
ci.yml::Rust Core Tests (src-tauri)failed.
ci.yml::test-rustshould now mirrortest.yml::rust(same install step, samecargo teststep)and pass on the same
ubuntu-latestimage.CI on this PR will re-run both
test.yml::rustandci.yml::test-rust. Both should now succeed, unblockingthe branch-protection gate.
Cross-references
docs: refresh CLAUDE.md hardware/timing invariants — items now shipped) — the docs PR whose CIsurfaced this issue. Merged at 2026-07-31T09:49:50Z.
.github/workflows/test.yml— the source-of-truthinstall step (lines 36-37) that this PR mirrors into
ci.yml.docs/AGENTS_SETUP.md— the setup doc that explains theTauri Linux sysdeps requirement (cited verbatim in the
comment).