Skip to content

Conversation

@Coldaine
Copy link
Owner

@Coldaine Coldaine commented Dec 25, 2025

User description

Summary

Removes the GabrielBB/xvfb-action from the self-hosted runner job.

Why

  1. Runner has live KDE Plasma session - No virtual display needed
  2. xvfb-action uses apt-get internally - Doesn't exist on Fedora/Nobara
  3. Fixes CI - Unblocks PR chore(deps): bump the rust-dependencies group with 2 updates #314 and other pending PRs

Change

- - name: Start Xvfb
-   uses: GabrielBB/xvfb-action@v1
-   with:
-     run: |
-       sudo dnf install -y xclip xdotool at-spi2-core liberation-sans-fonts

The existing "Validate test prerequisites" step already checks display availability.

🤖 Generated with Claude Code


PR Type

Bug fix


Description

  • Removes unnecessary xvfb-action from self-hosted runner CI job

  • Self-hosted runner has live KDE Plasma display session

  • xvfb-action incompatible with Fedora/Nobara (uses apt-get)

  • Unblocks pending PRs by fixing CI workflow


Diagram Walkthrough

flowchart LR
  A["CI Workflow"] -- "removes" --> B["xvfb-action step"]
  B -- "no longer needed" --> C["Live KDE Plasma session"]
  B -- "incompatible with" --> D["Fedora/Nobara"]
  A -- "unblocks" --> E["Pending PRs"]
Loading

File Walkthrough

Relevant files
Bug fix
ci.yml
Remove xvfb-action and dependencies from CI                           

.github/workflows/ci.yml

  • Removes the "Start Xvfb" step that used GabrielBB/xvfb-action@v1
  • Removes dnf package installation for xclip, xdotool, at-spi2-core, and
    liberation-sans-fonts
  • Simplifies CI workflow by eliminating unnecessary virtual display
    setup
  • Self-hosted runner already has live KDE Plasma display available
+0/-9     

The self-hosted runner has a live KDE Plasma session with real display.
Xvfb is unnecessary and the action also uses apt-get internally which
doesn't exist on Fedora/Nobara.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Copilot AI review requested due to automatic review settings December 25, 2025 03:09
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@Coldaine Coldaine merged commit 3698bad into main Dec 25, 2025
11 checks passed
@Coldaine Coldaine deleted the fix/remove-xvfb branch December 25, 2025 03:09
@qodo-code-review
Copy link

ⓘ Your approaching your monthly quota for Qodo. Upgrade your plan

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-free-for-open-source-projects

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-free-for-open-source-projects

PR Code Suggestions ✨

No code suggestions found for the PR.

@qodo-code-review
Copy link

ⓘ Your approaching your monthly quota for Qodo. Upgrade your plan

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Explicitly install required system dependencies

Re-add a dedicated step to install system packages that were removed along with
the Xvfb action. This ensures the CI workflow explicitly declares its
dependencies, making it more robust.

.github/workflows/ci.yml [273-278]

 - name: Setup ColdVox
   uses: ./.github/actions/setup-coldvox
+
+- name: Install GUI dependencies
+  run: |
+    set -euo pipefail
+    echo "Installing dependencies..."
+    sudo dnf install -y xclip xdotool at-spi2-core liberation-sans-fonts
 
 - name: Setup D-Bus Session
   run: |
     set -euo pipefail

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly points out that removing the Xvfb step also removes the installation of other packages, which might still be required, making the CI pipeline dependent on the runner's pre-configured state and thus more fragile.

Medium
  • More

@kiloconnect
Copy link

kiloconnect bot commented Dec 25, 2025

✅ No Issues Found

1 file reviewed | Confidence: 95% | Recommendation: Merge

Review Details

Files: .github/workflows/ci.yml

Checked: CI workflow changes, dependency management, runner compatibility

This PR correctly removes the GabrielBB/xvfb-action from the self-hosted runner CI workflow. The change is appropriate because:

  1. Runner has live KDE Plasma session - No virtual display needed
  2. xvfb-action incompatible with Fedora - Uses apt-get which doesn't exist on Fedora/Nobara
  3. Dependencies should be pre-provisioned - The setup-coldvox action validates runner has required dependencies (xdotool, xclip, ydotool, etc.) pre-installed
  4. Cleanup remains safe - The cleanup step's pkill gracefully handles missing processes with || true

The xvfb-action was a workaround that was failing and blocking CI. The fix properly aligns CI with the expected runner configuration.

Copy link

Copilot AI left a comment

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 removes the GabrielBB/xvfb-action from the self-hosted runner's hardware integration test job, correctly recognizing that the action is unnecessary and problematic for a self-hosted runner with a live desktop session.

Key Changes

  • Removed the xvfb-action step that was installing system dependencies (xclip, xdotool, at-spi2-core, liberation-sans-fonts) via dnf
  • Dependencies are now expected to be pre-provisioned on the runner, as documented in the runner setup documentation
  • The existing "Setup ColdVox" and "Validate test prerequisites" steps already verify dependency availability

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants