Skip to content

Switch automation workflows to ubuntu-slim runners#1275

Merged
kenodegard merged 1 commit intomainfrom
use-ubuntu-slim-runners
Jan 27, 2026
Merged

Switch automation workflows to ubuntu-slim runners#1275
kenodegard merged 1 commit intomainfrom
use-ubuntu-slim-runners

Conversation

@jezdez
Copy link
Copy Markdown
Member

@jezdez jezdez commented Jan 26, 2026

Summary

  • Switch 7 automation workflows to use the new ubuntu-slim runners
  • These 1 vCPU Linux runners are lower cost and optimized for automation tasks

Closes #1276

Affected workflows

Workflow Purpose
cla.yml CLA checking via API
issues.yml Issue label automation
labels.yml Label synchronization
lock.yml Locking stale threads
project.yml Adding issues/PRs to projects
stale.yml Stale issue/PR management
update.yml Repository sync updates

Runner details

The ubuntu-slim runner provides:

  • 1 vCPU, 5 GB RAM
  • 15 minute max execution time
  • Lower cost than ubuntu-latest

These workflows are ideal candidates because they:

  • Perform API calls (labeling, commenting, project management)
  • Don't require heavy computation
  • Complete quickly (well under 15 minutes)

Reference

See the GitHub changelog announcement:
https://github.blog/changelog/2026-01-22-1-vcpu-linux-runner-now-generally-available-in-github-actions/

Impact

Once merged, the update.yml workflow will propagate these changes to all conda org repositories that use the templated workflows.

Use the new 1 vCPU Linux runners (ubuntu-slim) for automation workflows
that are optimized for issue operations, labeling, and API calls.

These runners are lower cost and well-suited for:
- CLA checking (cla.yml)
- Issue automation (issues.yml)
- Label synchronization (labels.yml)
- Thread locking (lock.yml)
- Project management (project.yml)
- Stale issue handling (stale.yml)
- Repository updates (update.yml)

See: https://github.blog/changelog/2026-01-22-1-vcpu-linux-runner-now-generally-available-in-github-actions/
@jezdez jezdez requested a review from a team as a code owner January 26, 2026 11:05
@github-project-automation github-project-automation Bot moved this to 🆕 New in 🔎 Review Jan 26, 2026
@conda-bot conda-bot added the cla-signed [bot] added once the contributor has signed the CLA label Jan 26, 2026
@travishathaway
Copy link
Copy Markdown
Contributor

travishathaway commented Jan 27, 2026

@jezdez,

Have we tested this in the conda/conda repository to make sure all the tests run properly? The 15 minute limit makes me a little nervous 😅.

@jezdez
Copy link
Copy Markdown
Member Author

jezdez commented Jan 27, 2026

We have not

jezdez added a commit to conda/conda that referenced this pull request Jan 27, 2026
These 1 vCPU Linux runners are lower cost and optimized for automation tasks.

Mirrors conda/infrastructure#1275
@jezdez
Copy link
Copy Markdown
Member Author

jezdez commented Jan 27, 2026

Opened conda/conda#15640 to see if at least the CLA workflow works out.

@jezdez
Copy link
Copy Markdown
Member Author

jezdez commented Jan 27, 2026

Seems to have worked, and quickly as well

@jezdez
Copy link
Copy Markdown
Member Author

jezdez commented Jan 27, 2026

Workflow Runtime Analysis - conda/conda Repository (Last 60 Days)

I analyzed 279 workflow runs across all 7 workflows being switched to ubuntu-slim runners.

Runtime Time Series (sampled weekly)

xychart-beta
    title "Workflow Runtimes Over 60 Days (seconds)"
    x-axis "Week" [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    y-axis "Duration (s)" 0 --> 100
    bar [14, 10, 14, 8, 7, 5, 10, 15, 7, 10]
    line [20, 24, 43, 25, 31, 18, 24, 21, 20, 22]
Loading

Bar = Lock workflow (daily), Line = Stale workflow (daily, max job duration)

All Runs Distribution

Workflow Total Runs Min Max Median 95th %ile % of 15-min Limit
Lock 70 5s 18s 7s 14s 1.6%
Stale 67 16s 47s 22s 43s 5.2%
CLA 91 5s 18s 11s 16s 2.0%
Project 50 3s 6s 4s 6s 0.7%
Labels 2* 6s 9s 8s 9s 1.0%
Issues 0† - - - - -
Update 0† - - - - -

* Labels ran only twice in the period (infrequent workflow)
† These workflows skip unless specific conditions are met

Key Findings

  1. All 279 runs completed in under 1 minute - well under the 15-minute limit
  2. Consistent performance - no significant trends or concerning spikes
  3. One outlier excluded: A Stale run on Nov 19 ran for 48 min before failing (API/rate limit issue) - with ubuntu-slim, this would fail faster at 15 min (better behavior)
  4. Massive headroom: All workflows use less than 6% of available time

Risk Assessment: ✅ Safe to Proceed

The ubuntu-slim 15-minute limit provides >15x headroom over worst-case normal runtimes.


⚠️ Note on Test PR

The test PR at conda/conda#15640 does not actually test ubuntu-slim because:

  • CLA uses pull_request_target which runs the workflow from the base branch (main), not the PR branch
  • The workflow changes are only applied after merge
  • The run shows labels: ["ubuntu-latest"] confirming it used the old runner

Given the comprehensive data analysis, merging is low risk.

@github-project-automation github-project-automation Bot moved this from 🆕 New to ✅ Approved in 🔎 Review Jan 27, 2026
@travishathaway
Copy link
Copy Markdown
Contributor

Thanks for the detailed report. I didn't realize that this was for everything other than the test workflows. I'm okay with using this.

@kenodegard kenodegard merged commit a0c1c99 into main Jan 27, 2026
4 checks passed
@kenodegard kenodegard deleted the use-ubuntu-slim-runners branch January 27, 2026 15:21
@github-project-automation github-project-automation Bot moved this from ✅ Approved to 🏁 Done in 🔎 Review Jan 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed [bot] added once the contributor has signed the CLA

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Evaluate ubuntu-slim runners for automation workflows

5 participants