Skip to content

ci: Use ubuntu-slim machine#381

Open
MH0386 wants to merge 53 commits into
mainfrom
ci
Open

ci: Use ubuntu-slim machine#381
MH0386 wants to merge 53 commits into
mainfrom
ci

Conversation

@MH0386

@MH0386 MH0386 commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Summary by Sourcery

Refine CI automation settings by cleaning up Mergify rules, disabling obsolete checks, and removing stale .br configs

Enhancements:

  • Remove Mergify rule that auto-deleted branches after pull request closure
  • Disable CodeRabbit check in the merge queue rules
  • Update Renovate configuration

Chores:

  • Remove obsolete .br directory configuration files (ace/playbook.json and config.json)

Update Renovate configuration file
Configure Renovate with best practices and alerts
Removed the action to delete branches after closing pull requests and commented out the CodeRabbit check.
Update Mergify configuration to remove branch deletion
Copilot AI review requested due to automatic review settings November 4, 2025 16:15
@gitnotebooks

gitnotebooks Bot commented Nov 4, 2025

Copy link
Copy Markdown

@sourcery-ai

sourcery-ai Bot commented Nov 4, 2025

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR refactors the CI pipeline to adopt ubuntu-slim images across the board by updating configuration rules, disabling obsolete checks, and removing unused CI files.

File-Level Changes

Change Details Files
Refactor Mergify PR workflow
  • Removed automatic branch deletion after PR closure
  • Disabled the CodeRabbit check in queue rules
.github/mergify.yml
Clean up deprecated CI configs
  • Deleted legacy .br/ace/playbook.json
  • Deleted legacy .br/config.json
.br/ace/playbook.json
.br/config.json
Update Renovate to use ubuntu-slim base images
  • Adjusted image references to ubuntu-slim tags
.github/renovate.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Standardized CI/CD infrastructure by transitioning runner environments to ubuntu-slim for improved efficiency across build, test, and deployment workflows.
    • Enhanced vulnerability detection by enabling OSV vulnerability alerts in dependency management.
    • Updated pull request automation rules for streamlined merge workflows.

Walkthrough

Removed automatic branch deletion on PR close and deactivated the CodeRabbit success check in Mergify; enabled OSV vulnerability alerts and dependency dashboard summaries in Renovate; switched many GitHub Actions runners from ubuntu-latest to ubuntu-slim and added Docker/QEMU/Buildx and apt/docker setup steps where Docker is used.

Changes

Cohort / File(s) Summary
Mergify
​.github/mergify.yml
Removed the "Delete branch after close" action and commented out the check-success = CodeRabbit requirement in queue rules.
Renovate
​.github/renovate.json
Enabled osvVulnerabilityAlerts: true and set dependencyDashboardOSVVulnerabilitySummary: "all".
Docker CI workflow
​.github/workflows/.docker.yaml
Replaced runs-on: ubuntu-latest with runs-on: ubuntu-slim in multiple jobs; added APT install steps for Docker packages, added QEMU and Docker Buildx setup, added docker/setup-docker-action with daemon-config, and removed the Free Disk Space step.
Runner image updates (other workflows)
​.github/workflows/.lint.yaml, ​.github/workflows/build.yaml, ​.github/workflows/ci_tools.yaml, ​.github/workflows/release.yaml, ​.github/workflows/test.yaml, ​.github/workflows/version.yaml
Replaced runs-on: ubuntu-latest with runs-on: ubuntu-slim across listed workflows; no other functional changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer
  participant GH as "GitHub PR"
  participant M as "Mergify"
  participant Repo as "Repository"

  Note over Dev,GH: Before
  Dev->>GH: Merge PR
  GH->>M: PR closed event
  M->>Repo: Delete branch after close

  Note over Dev,GH: After
  Dev->>GH: Merge PR
  GH->>M: PR closed event
  M--x Repo: (branch deletion action removed)
  Note right of M: `check-success = CodeRabbit` is present but commented out
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Check correctness and order of apt install / docker setup / QEMU / Buildx steps in .github/workflows/.docker.yaml.
  • Verify daemon-config values passed to docker/setup-docker-action.
  • Confirm commenting out check-success = CodeRabbit in .github/mergify.yml is intentional.
  • Ensure Renovate accepts osvVulnerabilityAlerts and dependencyDashboardOSVVulnerabilitySummary keys.

Possibly related PRs

Poem

🐇 I hopped through YAML late tonight,
I swapped the runners to keep builds light,
I muted the branch-deleter's tiny song,
Turned on OSV so alerts come along,
Docker hums — carrot snack in sight.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci: Use ubuntu-slim machine' accurately describes the main change across multiple workflow files, though the PR also includes configuration adjustments to Mergify, Renovate, and branch deletion settings.
Description check ✅ Passed The description is related to the changeset, detailing CI automation refinements including Mergify cleanup, CodeRabbit disabling, and Renovate updates that align with the file changes.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 04700f6 and c84ccfa.

📒 Files selected for processing (1)
  • .github/workflows/.docker.yaml (6 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/.docker.yaml

25-25: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


67-67: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


147-147: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


188-188: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


227-227: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Lint / Format
  • GitHub Check: Test Image / Validate Dockerfile
  • GitHub Check: Mergify Merge Protections
  • GitHub Check: Summary

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @MH0386, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the repository's continuous integration and delivery (CI/CD) setup by removing obsolete configuration files, adjusting Mergify's automated branch management and merge queue checks, and enhancing Renovate's capability to detect and report Open Source Vulnerabilities (OSV) for improved dependency security. The changes aim to streamline workflows and bolster security practices.

Highlights

  • Configuration File Removal: Two configuration files, .br/ace/playbook.json and .br/config.json, have been removed from the repository, indicating a cleanup of potentially unused or outdated project setup files.
  • Mergify Rule Adjustments: The Mergify configuration was updated to remove the automatic deletion of head branches upon PR closure and to comment out the CodeRabbit check from the merge queue requirements, streamlining merge processes.
  • Renovate Vulnerability Scanning: Renovate's configuration now includes settings to enable OSV (Open Source Vulnerability) alerts and to display a comprehensive summary of all OSV vulnerabilities in the dependency dashboard, enhancing security monitoring.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@sourcery-ai sourcery-ai Bot 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.

Hey there - I've reviewed your changes - here's some feedback:

  • The PR title/description doesn’t match the actual changes – consider updating it to reflect the Mergify queue cleanup and .br folder removals instead of CI runner modifications.
  • If removing the “Delete branch after close” rule and disabling the CodeRabbit check are intentional, please include a brief note explaining the rationale for future maintainers.
  • Double-check that deleting .br/playbook.json and .br/config.json won’t break any existing workflows, and document their deprecation if these files are no longer needed.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The PR title/description doesn’t match the actual changes – consider updating it to reflect the Mergify queue cleanup and .br folder removals instead of CI runner modifications.
- If removing the “Delete branch after close” rule and disabling the CodeRabbit check are intentional, please include a brief note explaining the rationale for future maintainers.
- Double-check that deleting .br/playbook.json and .br/config.json won’t break any existing workflows, and document their deprecation if these files are no longer needed.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@mergify

mergify Bot commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Merge Protections

Your pull request matches the following merge protections and will not be merged until they are valid.

🟢 📃 Configuration Change Requirements

Wonderful, this rule succeeded.

Mergify configuration change

  • check-success = Configuration changed

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 removes ByteRover configuration files from the repository while making minor improvements to CI/CD configuration. The changes clean up developer tooling files that shouldn't be tracked in version control and update the dependency management and merge workflow settings.

  • Removes ByteRover CLI configuration and playbook files from version control
  • Enables OSV vulnerability alerts in Renovate
  • Adjusts Mergify rules to comment out CodeRabbit check and remove automatic branch deletion

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
.github/renovate.json Adds OSV vulnerability scanning configuration for dependency monitoring
.github/mergify.yml Removes auto-delete branch rule and comments out CodeRabbit check requirement
.br/config.json Removes ByteRover space/team configuration file
.br/ace/playbook.json Removes ByteRover playbook data file

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request primarily focuses on CI and repository automation configuration changes. The removal of stale .br configuration files and the adjustments to the Mergify rules, such as disabling automatic branch deletion and the CodeRabbit check, are clear and well-justified. I have one suggestion regarding the Renovate configuration to ensure the newly added vulnerability scanning is effective.

Comment thread .github/renovate.json
Comment on lines +13 to +14
"osvVulnerabilityAlerts": true,
"dependencyDashboardOSVVulnerabilitySummary": "all",

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.

high

Enabling OSV vulnerability alerts is a great security enhancement. However, with pyproject.toml currently in ignorePaths (line 16), Renovate will not scan or update the Python dependencies defined in that file. This means you won't get vulnerability alerts for them, which largely defeats the purpose of these new settings. To make these alerts effective, you should consider removing pyproject.toml from the ignorePaths list.

@mergify

mergify Bot commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

🧪 CI Insights

Here's what we observed from your CI run for 724b64d.

🟢 All jobs passed!

But CI Insights is watching 👀

@deepsource-io

deepsource-io Bot commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Here's the code health analysis summary for commits 2bcf6ff..724b64d. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource Python LogoPython✅ SuccessView Check ↗
DeepSource Docker LogoDocker✅ SuccessView Check ↗
DeepSource Secrets LogoSecrets✅ SuccessView Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/.docker.yaml (1)

81-82: Standardize APT package installation steps.

The build_image job (line 82) and docker_scout job (line 159) use a single-line APT install command, whereas check_dockerfile (lines 34–36) splits the commands and adds systemctl start docker. For consistency and clarity, align all three jobs to use the same pattern once the systemctl issue is resolved.

Also applies to: 158-159

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 85efc13 and 7ceea6f.

📒 Files selected for processing (1)
  • .github/workflows/.docker.yaml (6 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/.docker.yaml

25-25: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


67-67: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


147-147: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


188-188: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


227-227: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Test Image / Validate Dockerfile
  • GitHub Check: Lint / Format
  • GitHub Check: Sourcery review
  • GitHub Check: Mergify Merge Protections
  • GitHub Check: Summary
🔇 Additional comments (1)
.github/workflows/.docker.yaml (1)

32-36: Verify Docker installation necessity in check_dockerfile and fix systemctl issue on ubuntu-slim.

Line 36 runs sudo systemctl start docker, but ubuntu-slim is a minimal, container-based GitHub-hosted runner that may not support systemd. Additionally, the check_dockerfile job only validates the Dockerfile; it doesn't build or run containers, so installing Docker here may be unnecessary.

Clarify:

  1. Does check_dockerfile actually need Docker installed?
  2. If yes, replace systemctl start docker with a method compatible with ubuntu-slim's minimal toolset.
  3. If no, remove the entire APT install block.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7ceea6f and 04700f6.

📒 Files selected for processing (1)
  • .github/workflows/.docker.yaml (6 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/.docker.yaml

25-25: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


67-67: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


147-147: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


188-188: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


227-227: label "ubuntu-slim" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Test Image / Docker Scout (quickview)
  • GitHub Check: Test Image / API Test
  • GitHub Check: Test Image / Docker Scout (recommendations)
  • GitHub Check: Lint / Check
  • GitHub Check: Mergify Merge Protections
  • GitHub Check: Summary
🔇 Additional comments (3)
.github/workflows/.docker.yaml (3)

25-25: ubuntu-slim is a valid GitHub-hosted runner label.

The static analysis tool (actionlint) flags ubuntu-slim as unknown, but this is a false positive. ubuntu-slim is a GitHub-hosted runner option supported as of Jan 2025, and the usage across all jobs is correct.

Also applies to: 67-67, 147-147, 188-188, 227-227


32-36: Verify APT package installation approach for ubuntu-slim.

The workflow now installs docker.io via apt on ubuntu-slim runners. Confirm that:

  • This installation is necessary since ubuntu-slim has a minimal toolset
  • The systemctl start docker command in the check_dockerfile job (line 36) runs correctly in this environment
  • Consider whether docker/setup-docker-action (used elsewhere) should fully replace manual docker setup, or if this hybrid approach is intentional

Also applies to: 81-82, 158-159


43-46: QEMU and Buildx setup addition is appropriate.

Adding docker/setup-qemu-action and docker/setup-buildx-action in the check_dockerfile job ensures proper Docker build capability for validation. Both actions are already pinned to full commit SHAs.

Comment on lines +84 to +92
uses: docker/setup-docker-action@v4.5.0
with:
daemon-config: |
{
"debug": true,
"features": {
"containerd-snapshotter": true
}
}

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.

⚠️ Potential issue | 🔴 Critical

Pin docker/setup-docker-action to commit SHA to mitigate supply-chain risk.

Lines 84 and 161 use the mutable tag @v4.5.0. Per GitHub Actions security best practices, these must be pinned to the full commit SHA. Previous reviews indicate this should have been fixed, but the unpinned references remain.

Apply this diff to both locations:

       - name: Set up Docker
-        uses: docker/setup-docker-action@v4.5.0
+        uses: docker/setup-docker-action@efe9e3891a4f7307e689f2100b33a155b900a608 # v4.5.0
         with:
           daemon-config: |
             {
               "debug": true,
               "features": {
                 "containerd-snapshotter": true
               }
             }

Use commit SHA efe9e3891a4f7307e689f2100b33a155b900a608 for both lines 84 and 161.

Also applies to: 161-169

🤖 Prompt for AI Agents
In .github/workflows/.docker.yaml around lines 84-92 and 161-169, the workflow
uses the mutable tag docker/setup-docker-action@v4.5.0 which is a supply-chain
risk; replace both occurrences with the pinned commit SHA
docker/setup-docker-action@efe9e3891a4f7307e689f2100b33a155b900a608 so the
action is fixed to that exact commit.

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
2 Security Hotspots

See analysis details on SonarQube Cloud

@mergify

mergify Bot commented Nov 25, 2025

Copy link
Copy Markdown
Contributor

Hi @MH0386, Your PR is in conflict and cannot be merged.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants