ci: fix CodeQL Swift, SonarCloud, shellcheck + housekeeping - #40
Conversation
Single .swift file at desktop/libs/appletrust/add-certificate.swift has no Package.swift -- autobuild fails. build-mode: none still performs structural AST analysis (data flow, taint tracking).
sonarcloud/github-action@v3 repository moved/renamed. New action at SonarSource/sonarqube-scan-action supports same args and SONAR_TOKEN inputs. SHA pinned to v5.0.0 tag (0303d6b6).
Two long assert!() calls wrapped across multiple lines to satisfy cargo fmt line-length rules. Zero semantic change.
Mocks are globally wired via setupAllMocks() in setup.ts -- not unused. 1/23 tests actively fire HTTP through them.
Real PCGamingWiki returns different response shapes for action=cargoquery vs action=parse. Single static handler would silently produce wrong test results for future tests.
|
Note
|
| Layer / File(s) | Summary |
|---|---|
CI validation and scanning configuration .github/workflows/ci.yml, .github/workflows/codeql.yml |
Risk-register output formatting, the SonarQube scan action, and Swift CodeQL build mode are updated. |
PCGamingWiki metadata mock
| Layer / File(s) | Summary |
|---|---|
Action-based PCGamingWiki mock responses server/test/mocks/metadata.ts |
Separate cargoquery and parse fixtures are exported, and handlers select responses from the request action. |
Session handoff documentation
| Layer / File(s) | Summary |
|---|---|
Test strategy session handoff .omo/handoffs/session-handoff-2026-07-25.md |
Adds repository status, test results, completed work, technical decisions, pending tasks, and operational notes. |
Rust test assertion formatting
| Layer / File(s) | Summary |
|---|---|
Tailscale mock test formatting desktop/src-tauri/tailscale/src/provider.rs |
Reformats two success assertions while preserving their operations and checks. |
Estimated code review effort: 2 (Simple) | ~10 minutes
Possibly related PRs
- BillyOutlast/drop#38: Introduces the Tailscale provider abstraction in the same module as the reformatted mock tests.
Suggested reviewers: invalid-email-address
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation |
|---|---|---|
| Docstring Coverage | ✅ Passed | Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | The title is concise and accurately summarizes the main CI and housekeeping changes in the pull request. |
✨ Finishing Touches
📝 Generate docstrings
- Create stacked PR
- Commit on current branch
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
ci/quick-fixes
Comment @coderabbitai help to get the list of available commands.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yml:
- Line 183: Update the SonarSource/sonarqube-scan-action reference in the
workflow to a SHA corresponding to version 5.3.1 or newer, while preserving SHA
pinning and updating the adjacent version annotation to match.
In @.github/workflows/codeql.yml:
- Line 55: Update the Swift matrix entry in the CodeQL workflow to use
build-mode manual and add the corresponding Swift build commands in the
workflow, or remove the Swift entry if no build can be provided; do not leave
Swift configured with build-mode none.
In @.omo/handoffs/session-handoff-2026-07-25.md:
- Line 5: Remove the workstation-specific absolute path from the session
handoff’s Repo entry. Replace it with a repository-relative description and
update the continuation command to derive the checkout root dynamically,
preserving the handoff’s usability across machines.
- Line 29: Update every fenced code block in the session handoff, including the
blocks at the referenced locations, to specify the text language identifier. Use
text or plaintext for file lists and directory trees, preserving all existing
block contents.
In `@server/test/mocks/metadata.ts`:
- Around line 309-319: Update DEFAULT_PCGW_CARGO_RESPONSE to match the
PCGamingWikiSearchStub shape consumed by search(): use PageID, PageName, Cover
URL, and Released fields with appropriate mock values, and type the fixture as
PCGamingWikiSearchStub to prevent schema drift.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: a5848d0f-0622-489c-b390-5c1bc9f797ed
📒 Files selected for processing (5)
.github/workflows/ci.yml.github/workflows/codeql.yml.omo/handoffs/session-handoff-2026-07-25.mddesktop/src-tauri/tailscale/src/provider.rsserver/test/mocks/metadata.ts
- SonarCloud: v5.0.0 -> v5.3.1 (GHSA-f79p-9c5r-xg88) - CodeQL Swift: remove from matrix (no Swift project) - Handoff: remove absolute path, use dynamic cwd - Handoff: add text language to all fenced code blocks - PCGW mock: fix cargo response to match PCGamingWikiSearchStub shape
a0e5bfb to
dfda9ed
Compare
|



Changes
CI fixes
build-mode: noneunsupported)SonarSource/sonarqube-scan-action@v5.3.1(patches GHSA-f79p-9c5r-xg88)Housekeeping
PCGamingWikiSearchStub, split handler byactionparamtextlang to fenced code blocksVerification