Skip to content

change: update CI workflows and configurations for Rust and Tauri integration (#1402)#1431

Merged
shm11C3 merged 2 commits into
developfrom
ci/#1402
May 1, 2026
Merged

change: update CI workflows and configurations for Rust and Tauri integration (#1402)#1431
shm11C3 merged 2 commits into
developfrom
ci/#1402

Conversation

@shm11C3

@shm11C3 shm11C3 commented May 1, 2026

Copy link
Copy Markdown
Owner

Summary

Update the CI/CD to support the Core / Tauri split configuration from #1402.

  • Split the Rust CI into hardviz-core and hardware_visualizer units.
  • For core-only changes, avoid heavy Tauri build/test processes and limit the integration check with the Tauri crate to cargo check -p hardware_visualizer --all-targets.
  • For Tauri changes, Rust dependency changes, frontend dependency changes, and pushes, continue to execute the Tauri build matrix as before.
  • Update Rust cache, Dependabot, labeler, and license generation / cargo-deny based on the workspace root.
  • Correct the workspace-compatible command for cargo-deny to cargo deny --manifest-path Cargo.toml check --config src-tauri/deny.toml licenses.

Related Issues

Refs #1402

Type of Change

  • Bug fix (fix/ branch)
  • New feature (feat/ branch)
  • Refactoring (refactor/ branch)
  • Documentation (docs/ branch)
  • Dependencies update
  • Other (chore/ branch)

Screenshots / Videos

N/A

Test Plan

  • Manual testing
  • Unit tests

Validated locally:

  • cargo fmt --all -- --check
  • cargo clippy -p hardviz-core --all-targets -- -D warnings
  • cargo clippy -p hardware_visualizer --all-targets -- -D warnings
  • cargo test -p hardviz-core -- --test-threads=1 --nocapture
  • cargo test -p hardware_visualizer -- --test-threads=1 --nocapture
  • cargo check -p hardware_visualizer --all-targets
  • GitHub Actions YAML parse check

Note: cargo deny --manifest-path Cargo.toml check --config src-tauri/deny.toml licenses was checked for argument validity locally, but full execution could not complete in the sandbox because static.crates.io DNS resolution is blocked.

Checklist

  • Self-reviewed the code
  • Linting and formatting pass (npm run lint && npm run format / cargo tauri-lint && cargo tauri-fmt)
  • Tests pass (npm test / cargo tauri-test)
  • No new warnings or errors

Summary by CodeRabbit

  • Chores
    • Updated CI/CD pipeline configuration for optimized build performance and artifact caching across project workspaces
    • Reorganized dependency management automation
    • Enhanced code labeling and organization for development workflow
    • Improved testing and validation automation across multiple platform configurations
    • Updated license generation and compliance checking processes

Copilot AI review requested due to automatic review settings May 1, 2026 02:04
@coderabbitai

coderabbitai Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

GitHub Actions, Dependabot, and repository tooling were updated for a two-workspace Rust layout: cache/workspace identifiers changed, Dependabot now checks the repo root, labeler rules split by component, license script cwd removed, and CI workflow refactored into workspace-scoped lint/test/format/check jobs.

Changes

Cohort / File(s) Summary
Rust Workspace Caching
\.github/actions/setup-rust/action.yml
Cache workspaces expanded to include . and ./src-tauri; shared-key renamed from src-taurirust-workspace.
Workspace-Aware Tooling
\.github/scripts/generate-licenses.ts
Removed explicit cwd for cargo license and cargo metadata invocations so they run from the script process working directory.
Repository Configuration
\.github/dependabot.yml, \.github/labeler.yml
Dependabot cargo directory changed from /src-tauri/; labeler rule rust replaced by hardviz_core (core/**) and hardviz_tauri (src-tauri/**).
CI Workflow Restructuring
\.github/workflows/ci.yml
Path filters updated to detect core vs tauri changes; new jobs added (rust-format, lint-core, test-core, lint-tauri, test-tauri, check-core-tauri-integration); cargo deny invocation moved to use root manifest with Tauri-specific config; merge-gate required jobs updated.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Suggested labels

github_actions

Poem

🐰 I hopped through files both near and far,

split workspaces like a bright new star.
Caches, labels, CI — all set anew,
Dependabot now checks the root view.
A tiny rabbit cheers: build on, crew!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: CI workflow and configuration updates for Rust and Tauri integration, matching the changeset across .github files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 The PR description is well-structured and includes all required sections with substantive details about the changes, related issues, type of change, test plan, and a completed checklist.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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/#1402

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added the github_actions Pull requests that update GitHub Actions code label May 1, 2026
@github-actions

github-actions Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 97.43% (🎯 60%) 1064 / 1092
🔵 Statements 96.9% (🎯 60%) 1127 / 1163
🔵 Functions 96.7% (🎯 60%) 264 / 273
🔵 Branches 89.94% (🎯 60%) 358 / 398
File CoverageNo changed files found.
Generated in workflow #2854 for commit c3ae99e by the Vitest Coverage Report Action

coderabbitai[bot]
coderabbitai Bot previously approved these changes May 1, 2026
@github-actions

github-actions Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

Rust Tauri Coverage Report

Coverage Details
Filename                                                   Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
core/src/collector/history.rs                                  346               346     0.00%          25                25     0.00%         188               188     0.00%           0                 0         -
core/src/collector/sampling.rs                                 216               216     0.00%          26                26     0.00%         150               150     0.00%           0                 0         -
core/src/collector/system_monitor.rs                            72                72     0.00%           4                 4     0.00%          39                39     0.00%           0                 0         -
core/src/enums/hardware.rs                                      14                14     0.00%           2                 2     0.00%          12                12     0.00%           0                 0         -
core/src/event_bus.rs                                           26                26     0.00%           6                 6     0.00%          21                21     0.00%           0                 0         -
core/src/infrastructure/database/db.rs                          28                28     0.00%           4                 4     0.00%          22                22     0.00%           0                 0         -
core/src/infrastructure/database/gpu_archive.rs                 51                51     0.00%           4                 4     0.00%          18                18     0.00%           0                 0         -
core/src/infrastructure/database/hardware_archive.rs            41                41     0.00%           4                 4     0.00%          18                18     0.00%           0                 0         -
core/src/infrastructure/database/process_stats.rs               41                41     0.00%           4                 4     0.00%          27                27     0.00%           0                 0         -
core/src/infrastructure/providers/linux/dmidecode.rs           101               101     0.00%           4                 4     0.00%          67                67     0.00%           0                 0         -
core/src/infrastructure/providers/linux/drm_sys.rs             171               171     0.00%          15                15     0.00%         100               100     0.00%           0                 0         -
core/src/infrastructure/providers/linux/hwmon.rs               105               105     0.00%           7                 7     0.00%          62                62     0.00%           0                 0         -
core/src/infrastructure/providers/linux/kernel.rs               21                21     0.00%           2                 2     0.00%           8                 8     0.00%           0                 0         -
core/src/infrastructure/providers/linux/lspci.rs                39                39     0.00%           3                 3     0.00%          21                21     0.00%           0                 0         -
core/src/infrastructure/providers/linux/net_sys.rs             171               171     0.00%          13                13     0.00%          93                93     0.00%           0                 0         -
core/src/infrastructure/providers/linux/procfs.rs               24                24     0.00%           3                 3     0.00%          19                19     0.00%           0                 0         -
core/src/infrastructure/providers/sysinfo_provider.rs           54                54     0.00%           2                 2     0.00%          45                45     0.00%           0                 0         -
core/src/monitoring/state.rs                                    50                50     0.00%          11                11     0.00%          44                44     0.00%           0                 0         -
core/src/persistence/archive.rs                                500               500     0.00%          34                34     0.00%         314               314     0.00%           0                 0         -
core/src/persistence/preflight.rs                               53                53     0.00%           3                 3     0.00%          46                46     0.00%           0                 0         -
core/src/platform/factory.rs                                    18                18     0.00%           4                 4     0.00%          15                15     0.00%           0                 0         -
core/src/platform/linux/cache.rs                                53                53     0.00%           4                 4     0.00%          38                38     0.00%           0                 0         -
core/src/platform/linux/gpu.rs                                 137               137     0.00%          14                14     0.00%          98                98     0.00%           0                 0         -
core/src/platform/linux/memory.rs                               43                43     0.00%           6                 6     0.00%          41                41     0.00%           0                 0         -
core/src/platform/linux/mod.rs                                  33                33     0.00%          11                11     0.00%          69                69     0.00%           0                 0         -
core/src/platform/linux/network.rs                               4                 4     0.00%           1                 1     0.00%           4                 4     0.00%           0                 0         -
core/src/settings/hardware_archive.rs                            3                 0   100.00%           1                 0   100.00%           7                 0   100.00%           0                 0         -
core/src/settings/mod.rs                                       114               114     0.00%          13                13     0.00%          68                68     0.00%           0                 0         -
core/src/utils/formatter.rs                                     88                88     0.00%           6                 6     0.00%          88                88     0.00%           0                 0         -
core/src/utils/ip.rs                                             8                 8     0.00%           1                 1     0.00%           7                 7     0.00%           0                 0         -
core/src/utils/rounding.rs                                       3                 3     0.00%           1                 1     0.00%           3                 3     0.00%           0                 0         -
src-tauri/src/_tests/commands/background_image_test.rs          39                 0   100.00%           6                 0   100.00%          21                 0   100.00%           0                 0         -
src-tauri/src/_tests/commands/settings_test.rs                 219                 0   100.00%          18                 0   100.00%         162                 0   100.00%           0                 0         -
src-tauri/src/adapters/tray.rs                                  91                91     0.00%           7                 7     0.00%          60                60     0.00%           0                 0         -
src-tauri/src/adapters/window.rs                               254                69    72.83%          21                 8    61.90%         195                47    75.90%           0                 0         -
src-tauri/src/app/startup.rs                                   188                87    53.72%          10                 3    70.00%         114                58    49.12%           0                 0         -
src-tauri/src/commands/background_image.rs                      22                 7    68.18%          11                 5    54.55%          19                 7    63.16%           0                 0         -
src-tauri/src/commands/hardware.rs                              62                62     0.00%          20                20     0.00%          68                68     0.00%           0                 0         -
src-tauri/src/commands/settings.rs                             578               578     0.00%         102               102     0.00%         497               497     0.00%           0                 0         -
src-tauri/src/commands/system.rs                                21                21     0.00%          10                10     0.00%          20                20     0.00%           0                 0         -
src-tauri/src/commands/ui.rs                                    17                17     0.00%           2                 2     0.00%          13                13     0.00%           0                 0         -
src-tauri/src/commands/updater.rs                               97                97     0.00%          15                15     0.00%          66                66     0.00%           0                 0         -
src-tauri/src/enums/error.rs                                   115                10    91.30%           9                 1    88.89%          99                10    89.90%           0                 0         -
src-tauri/src/enums/hardware.rs                                194                 7    96.39%          16                 1    93.75%         120                 6    95.00%           0                 0         -
src-tauri/src/enums/settings.rs                                425                16    96.24%          26                 2    92.31%         289                10    96.54%           0                 0         -
src-tauri/src/infrastructure/database/migration.rs              66                 1    98.48%          10                 0   100.00%          86                 0   100.00%           0                 0         -
src-tauri/src/lib.rs                                           203               203     0.00%           5                 5     0.00%         124               124     0.00%           0                 0         -
src-tauri/src/lifecycle.rs                                     227               178    21.59%          29                25    13.79%         160               137    14.37%           0                 0         -
src-tauri/src/main.rs                                            3                 3     0.00%           1                 1     0.00%           3                 3     0.00%           0                 0         -
src-tauri/src/models/hardware.rs                               375                83    77.87%          31                12    61.29%         275               100    63.64%           0                 0         -
src-tauri/src/models/hardware_archive.rs                         8                 0   100.00%           2                 0   100.00%          10                 0   100.00%           0                 0         -
src-tauri/src/models/settings.rs                               283                 0   100.00%          16                 0   100.00%         246                 0   100.00%           0                 0         -
src-tauri/src/services/background_image_service.rs             165                96    41.82%          16                10    37.50%          93                59    36.56%           0                 0         -
src-tauri/src/services/gpu_service.rs                           56                56     0.00%          11                11     0.00%          43                43     0.00%           0                 0         -
src-tauri/src/services/hardware_service.rs                      85                85     0.00%           4                 4     0.00%          51                51     0.00%           0                 0         -
src-tauri/src/services/language_service.rs                     101                 0   100.00%          18                 0   100.00%          57                 0   100.00%           0                 0         -
src-tauri/src/services/memory_service.rs                        12                12     0.00%           3                 3     0.00%           7                 7     0.00%           0                 0         -
src-tauri/src/services/motherboard_service.rs                   12                12     0.00%           3                 3     0.00%           7                 7     0.00%           0                 0         -
src-tauri/src/services/network_service.rs                       14                14     0.00%           1                 1     0.00%           8                 8     0.00%           0                 0         -
src-tauri/src/services/settings_service.rs                     321               143    55.45%          31                13    58.06%         269               130    51.67%           0                 0         -
src-tauri/src/services/system_service.rs                        22                22     0.00%           2                 2     0.00%          12                12     0.00%           0                 0         -
src-tauri/src/services/ui_service.rs                            45                45     0.00%           8                 8     0.00%          36                36     0.00%           0                 0         -
src-tauri/src/utils/color.rs                                    66                 1    98.48%           4                 0   100.00%          26                 0   100.00%           0                 0         -
src-tauri/src/utils/file.rs                                    224                 5    97.77%          14                 0   100.00%         144                 4    97.22%           0                 0         -
src-tauri/src/utils/formatter.rs                                55                 0   100.00%           5                 0   100.00%          39                 0   100.00%           0                 0         -
src-tauri/src/utils/logger.rs                                   71                71     0.00%           1                 1     0.00%          38                38     0.00%           0                 0         -
src-tauri/src/utils/tauri.rs                                   138                 0   100.00%          17                 0   100.00%          82                 0   100.00%           0                 0         -
src-tauri/src/workers/mod.rs                                    32                32     0.00%           2                 2     0.00%          20                20     0.00%           0                 0         -
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                         7534              4749    36.97%         745               514    31.01%        5331              3386    36.48%           0                 0         -

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the repository’s GitHub Actions configuration to better reflect the Rust workspace split between core/ and src-tauri/, and adjusts related automation (Dependabot, labeler, license generation) to operate from the workspace root.

Changes:

  • Split Rust CI into separate jobs for formatting, Core (clippy/tests), and Tauri (clippy/tests/coverage), plus a Core→Tauri integration cargo check.
  • Update change-detection filters and merge-gate dependencies to reflect the new job structure.
  • Move Cargo automation to the workspace root (Dependabot Cargo directory, Rust license generation, rust-cache workspace configuration).

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/ci.yml Splits Rust checks into format/core/tauri jobs, updates path filters, adds integration check, and adjusts coverage + cargo-deny invocation.
.github/scripts/generate-licenses.ts Runs Cargo license/metadata collection from workspace root instead of src-tauri/.
.github/labeler.yml Splits the previous Rust label into separate labels for Core and Tauri paths.
.github/dependabot.yml Changes Cargo ecosystem updates to run from repository root (/) to support the workspace.
.github/actions/setup-rust/action.yml Updates rust-cache workspace configuration and shared cache key for the workspace layout.
Comments suppressed due to low confidence (1)

.github/workflows/ci.yml:251

  • cargo llvm-cov is now run for only -p hardware_visualizer, but the later cargo llvm-cov report step doesn’t pass -p hardware_visualizer. This can cause the report to be computed for the whole workspace (core + tauri) and diverge from the intended “Tauri coverage” scope. Consider adding -p hardware_visualizer (or otherwise matching the selection flags) to the report command.
      - name: Run Tauri tests with coverage
        if: matrix.platform == 'ubuntu-22.04'
        run: cargo llvm-cov -p hardware_visualizer --no-report -- --test-threads=1 --nocapture

      - name: Run Tauri tests
        if: matrix.platform != 'ubuntu-22.04'
        run: cargo test -p hardware_visualizer -- --test-threads=1 --nocapture

      - name: Generate coverage report
        if: matrix.platform == 'ubuntu-22.04'
        id: coverage-report
        run: |
          {
            echo 'REPORT<<EOF'
            cargo llvm-cov report 2>&1
            echo 'EOF'
          } >> "$GITHUB_OUTPUT"

Comment thread .github/scripts/generate-licenses.ts
Comment thread .github/actions/setup-rust/action.yml
@shm11C3 shm11C3 merged commit 161c1ae into develop May 1, 2026
38 checks passed
@shm11C3 shm11C3 deleted the ci/#1402 branch May 1, 2026 02:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants