Skip to content

Use Ubuntu-Slim runner for light operations#343

Merged
5ouma merged 1 commit intomainfrom
ci-actions-ubuntu-slim
Dec 6, 2025
Merged

Use Ubuntu-Slim runner for light operations#343
5ouma merged 1 commit intomainfrom
ci-actions-ubuntu-slim

Conversation

@5ouma
Copy link
Owner

@5ouma 5ouma commented Dec 6, 2025

⚠️ Issue

close #


✏️ Description

It's more performant and cheaper.


Copilot AI review requested due to automatic review settings December 6, 2025 04:12
@coderabbitai
Copy link

coderabbitai bot commented Dec 6, 2025

Walkthrough

All GitHub Actions workflows have been updated to use Ubuntu-Slim runner images instead of Ubuntu-Latest. The pre-commit workflow also has its job timeout increased from 3 to 5 minutes. Changes affect execution environments without modifying workflow logic or step structure.

Changes

Cohort / File(s) Summary
Runner image updated to Ubuntu-Slim
.github/workflows/ci-checker.yml, .github/workflows/ci.yml, .github/workflows/labeler.yml, .github/workflows/release.yml, .github/workflows/update-lock.yml
Runner image replaced from Ubuntu-Latest to Ubuntu-Slim across all jobs in these workflows. No changes to workflow logic, steps, or timeouts.
Runner image updated and timeout adjusted
.github/workflows/pre-commit.yml
Runner image changed from Ubuntu-Latest to Ubuntu-Slim and job timeout increased from 3 to 5 minutes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

These are homogeneous, repetitive configuration changes across multiple workflow files. All modifications involve straightforward runner image replacements with consistent patterns, requiring minimal reasoning per file. The single timeout adjustment in pre-commit.yml is a straightforward numeric change.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: switching GitHub Actions workflows to use Ubuntu-Slim runners instead of Ubuntu-Latest across multiple workflow files.
Description check ✅ Passed The description is related to the changeset, explaining the motivation (better performance and lower cost) for switching to Ubuntu-Slim runners.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci-actions-ubuntu-slim

📜 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 e9261cc and 51f19ba.

📒 Files selected for processing (6)
  • .github/workflows/ci-checker.yml (2 hunks)
  • .github/workflows/ci.yml (5 hunks)
  • .github/workflows/labeler.yml (1 hunks)
  • .github/workflows/pre-commit.yml (1 hunks)
  • .github/workflows/release.yml (2 hunks)
  • .github/workflows/update-lock.yml (1 hunks)
🔇 Additional comments (6)
.github/workflows/ci-checker.yml (1)

29-29: Ubuntu-Slim runner change approved, but inconsistent migration noted.

The merge-pr and rebase-pr jobs are switching to Ubuntu-Slim, which is appropriate since they only use the gh CLI and containerized actions. However, the merge-gatekeeper job (line 14) still uses Ubuntu-Latest. Consider updating it for consistency.

If you're migrating all jobs to Ubuntu-Slim, ensure the merge-gatekeeper job is also updated:

    runs-on: Ubuntu-Slim

Also applies to: 53-53

.github/workflows/update-lock.yml (1)

14-14: Runner change approved.

The update-lock job uses a custom action from the same organization and has minimal requirements. Ubuntu-Slim is appropriate here.

.github/workflows/labeler.yml (1)

13-13: Runner change approved.

The labeler job only uses a containerized action and has no system dependencies. Ubuntu-Slim is a good fit.

.github/workflows/release.yml (1)

14-14: Runner changes approved, with verification needed for publish job.

The tagpr job is safe for Ubuntu-Slim (uses only containerized actions). However, the publish job runs npx jsr publish which requires Node.js and npm. While these are typically available on GitHub Actions' Ubuntu-Slim runners, verify that this command succeeds after deployment.

Also applies to: 50-50

.github/workflows/pre-commit.yml (1)

14-15: Verify timeout increase rationale.

The pre-commit job switches to Ubuntu-Slim (appropriate for this minimal task) but the timeout increases from 3 to 5 minutes. If Ubuntu-Slim is "more performant," why does the job need more time?

This suggests either: (a) the task is slower on Ubuntu-Slim than expected, (b) missing cached packages require more download time, or (c) the timeout is a conservative buffer. Please clarify the reasoning and confirm this timeout is sufficient after deployment.

.github/workflows/ci.yml (1)

22-22: Runner changes approved across all CI jobs.

All five jobs (lint-check, format-check, type-check, test, dry-run-publish) safely migrate to Ubuntu-Slim. They rely on the denoland/setup-deno action for Deno setup and containerized actions for coverage uploads, with no system-level dependencies. This is a clean migration.

Also applies to: 49-49, 66-66, 90-90, 125-125


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.

@github-actions github-actions bot added the 🎽 CI Changes to CI configuration files and scripts label Dec 6, 2025
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 pull request attempts to optimize GitHub Actions workflows by replacing Ubuntu-Latest runners with Ubuntu-Slim runners across all workflow files, with the goal of improving performance and reducing costs. However, there is a critical issue with this change.

Key Changes:

  • Replace runs-on: Ubuntu-Latest with runs-on: Ubuntu-Slim across 6 workflow files
  • Increase timeout from 3 to 5 minutes in the pre-commit workflow

Reviewed changes

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

Show a summary per file
File Description
.github/workflows/update-lock.yml Changes runner to Ubuntu-Slim for lock file updates
.github/workflows/release.yml Changes runner to Ubuntu-Slim for tagpr and publish jobs
.github/workflows/pre-commit.yml Changes runner to Ubuntu-Slim and increases timeout to 5 minutes
.github/workflows/labeler.yml Changes runner to Ubuntu-Slim for PR labeling
.github/workflows/ci.yml Changes runner to Ubuntu-Slim for all CI jobs (lint, format, type check, test, dry-run-publish)
.github/workflows/ci-checker.yml Changes runner to Ubuntu-Slim for merge-pr and rebase-pr jobs

Critical Issue: Ubuntu-Slim is not a valid GitHub Actions runner type. The standard GitHub-hosted Ubuntu runners are ubuntu-latest, ubuntu-24.04, ubuntu-22.04, and ubuntu-20.04. All workflows using this runner will fail when triggered.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Dec 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (e9261cc) to head (51f19ba).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #343   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            6         6           
  Lines          115       115           
  Branches         9         9           
=========================================
  Hits           115       115           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@5ouma
Copy link
Owner Author

5ouma commented Dec 6, 2025

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Dec 6, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@5ouma 5ouma merged commit 0225e3c into main Dec 6, 2025
23 checks passed
@5ouma 5ouma deleted the ci-actions-ubuntu-slim branch December 6, 2025 04:42
@5ouma 5ouma bot mentioned this pull request Dec 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎽 CI Changes to CI configuration files and scripts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants