Skip to content

ci: structure CI check names#12417

Merged
zkochan merged 1 commit into
mainfrom
ci-structured-pacquet-check-names
Jun 15, 2026
Merged

ci: structure CI check names#12417
zkochan merged 1 commit into
mainfrom
ci-structured-pacquet-check-names

Conversation

@zkochan

@zkochan zkochan commented Jun 15, 2026

Copy link
Copy Markdown
Member

Summary

  • rename the shared Rust workflow from Pacquet CI to Rust CI because it covers both pacquet and pnpr
  • prefix Rust job names with Rust CI / so required-check contexts are globally scannable
  • rename TypeScript workflow contexts to TS CI / ...
  • make test matrix labels compact and stable: platform plus Node major only
  • keep the Bencher upload workflow listening to both old and new workflow names during the migration

Branch protection migration

After this PR runs once, the required-check picker should expose the new contexts, for example:

  • TS CI / Compile & Lint
  • TS CI / Test / ubuntu / Node 24
  • TS CI / Test / windows / Node 22
  • Rust CI / Dylint
  • Rust CI / Test / macos
  • Rust CI / Clippy

Required checks using old names like Compile & Lint, Dylint, or ubuntu-latest / Node.js 24 / Test will need to be switched to the new names before this can merge without an admin bypass.

Checks

  • actionlint .github/workflows/ci.yml .github/workflows/test.yml .github/workflows/pacquet-ci.yml .github/workflows/ci-performance-bencher-upload.yml
  • git diff --check
  • pre-push hook: pnpm run compile-only and pnpm run lint --quiet

Written by an agent (Codex, GPT-5).

Summary by CodeRabbit

  • Chores
    • Updated GitHub Actions workflow and job display names to follow a consistent “Rust CI / …” naming convention across CI-related checks.
    • Enhanced the reusable test workflow to accept a Node major parameter, improving test job labeling and readability in run history.
    • Expanded CI triggers and test matrix metadata (including platform/OS labels) so job names more clearly reflect the executed environment.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 28ac70a8-6f39-45a5-b7e7-9b0bb0bab3b7

📥 Commits

Reviewing files that changed from the base of the PR and between 67143de and 621e62d.

📒 Files selected for processing (4)
  • .github/workflows/ci-performance-bencher-upload.yml
  • .github/workflows/ci.yml
  • .github/workflows/pacquet-ci.yml
  • .github/workflows/test.yml
✅ Files skipped from review due to trivial changes (1)
  • .github/workflows/pacquet-ci.yml

📝 Walkthrough

Walkthrough

Three GitHub Actions workflow files and a reusable workflow are updated to standardize CI display names. test.yml gains a required node_major input and changes its job name to dynamic. ci.yml workflow is renamed to TS CI with job names prefixed, and test matrix extended with node_major and platform_label entries. pacquet-ci.yml is renamed to Rust CI with all nine job display names prefixed, and test matrix extended with os_label. The performance bencher workflow trigger is updated to include Rust CI.

Changes

CI Workflow Display Name and Input Standardization

Layer / File(s) Summary
Reusable test workflow input and dynamic naming
.github/workflows/test.yml
New required node_major string input is declared for workflow_call. Job name is changed from the static Test to a dynamic expression using inputs.node_major.
TS CI workflow and test matrix updates
.github/workflows/ci.yml
Workflow renamed from CI to TS CI. Compile-and-lint job name prefixed with TS CI /. Test and test-smoke jobs display names updated with TS CI / Test / … prefix. Test matrix extended with node_major and platform_label include entries. Test job forwards node_major to the reusable workflow.
Rust CI workflow and all job display name updates
.github/workflows/pacquet-ci.yml
Workflow renamed from Pacquet CI to Rust CI. All nine job display names (changes, test, clippy, doc, typos, cargo deny, format, dylint) prefixed with Rust CI / …. Test matrix extended with os_label entries for dynamic display naming.
Performance bencher workflow trigger update
.github/workflows/ci-performance-bencher-upload.yml
Workflow run trigger updated to include "Rust CI" in the upstream workflows list.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • pnpm/pnpm#11626: Both PRs modify the reusable .github/workflows/test.yml workflow interface by adding new inputs passed down from callers like ci.yml.
  • pnpm/pnpm#12404: The main PR forwards node_major through test workflow inputs, which complements the retrieved PR's test workflow enhancements for Bencher result generation.

Suggested reviewers

  • KSXGitHub

Poem

🐇 A rabbit hops through the pipeline lane,
Swapping old labels for a sharper name—
"TS CI" here, "Rust CI" there,
With node_major floating through the air.
The matrix hums with platform_label songs,
Now every job knows where it belongs! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'ci: structure CI check names' directly and clearly describes the main change: restructuring CI check naming conventions across GitHub Actions workflows.
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.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci-structured-pacquet-check-names

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.

@zkochan zkochan force-pushed the ci-structured-pacquet-check-names branch from 4132629 to 2c47779 Compare June 15, 2026 07:32
@zkochan zkochan changed the title ci: structure Pacquet check names ci: structure Rust check names Jun 15, 2026
@zkochan zkochan force-pushed the ci-structured-pacquet-check-names branch from 2c47779 to 2cae3bc Compare June 15, 2026 07:43
@zkochan zkochan changed the title ci: structure Rust check names ci: structure CI check names Jun 15, 2026
@zkochan zkochan marked this pull request as ready for review June 15, 2026 07:48
@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Jun 15, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0)

Grey Divider


Remediation recommended

1. Stale workflow_run triggers 🐞 Bug ◔ Observability
Description
Renaming the workflows to "TS CI" and "Rust CI" will stop the CI Performance Bencher Upload workflow
from triggering because it still listens for workflow_run events from the old workflow names ("CI",
"Pacquet CI"). As a result, CI performance artifacts (ci-performance-*) will not be uploaded to
Bencher after this PR.
Code

.github/workflows/ci.yml[1]

+name: TS CI
Evidence
The PR changes the workflow names to "TS CI" and "Rust CI", while the Bencher upload workflow’s
workflow_run trigger is hard-coded to the old names; this name mismatch prevents the trigger from
matching future runs of the renamed workflows.

.github/workflows/ci.yml[1-3]
.github/workflows/pacquet-ci.yml[1-4]
.github/workflows/ci-performance-bencher-upload.yml[1-12]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The workflow `.github/workflows/ci-performance-bencher-upload.yml` triggers on `workflow_run.workflows: ["CI", "Pacquet CI"]`, but this PR renames those workflows to `TS CI` and `Rust CI`. `workflow_run.workflows` matches by **workflow name**, so the upload workflow will no longer fire.

## Issue Context
- TS workflow renamed: `.github/workflows/ci.yml` now has `name: TS CI`.
- Rust workflow renamed: `.github/workflows/pacquet-ci.yml` now has `name: Rust CI`.
- Bencher uploader still listens for the old names.

## Fix Focus Areas
- .github/workflows/ci-performance-bencher-upload.yml[9-11]

## Proposed change
Update the `workflow_run.workflows` list to match the new workflow names:
- Replace `"CI"` with `"TS CI"`
- Replace `"Pacquet CI"` with `"Rust CI"`

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

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

Copy link
Copy Markdown

PR Summary by Qodo

CI: standardize workflow and job check names (TS CI /…, Rust CI /…)
⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

Walkthroughs

Description
• Rename TS and Rust workflows to globally scannable check-name prefixes.
• Prefix job names with "TS CI /" and "Rust CI /" for branch protection clarity.
• Stabilize TS test matrix labels to OS + Node major only.
Diagram
graph TD
  A["GitHub Actions"] --> B["Workflow: TS CI"] --> C["Job: TS CI / Compile & Lint"]
  B --> D["Reusable: test.yml"] --> E["Job: TS matrix label"]
  A --> F["Workflow: Rust CI"] --> G["Jobs: Rust CI / …"]
  C --> H["Branch protection required checks"]
  E --> H
  G --> H
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Only rename workflow names (leave job names unchanged)
  • ➕ Smaller diff and fewer required-check migrations
  • ➕ Preserves existing per-job contexts
  • ➖ Required checks still appear ungrouped/mixed across workflows
  • ➖ Job-level contexts remain ambiguous in large repos
2. Split Rust into separate workflows per crate (pacquet vs pnpr)
  • ➕ Clearer ownership boundaries per workflow
  • ➕ Potentially fewer runs when only one crate changes
  • ➖ Duplicates expensive workspace-wide work (tests/lints/doc) across workflows
  • ➖ More required-check contexts to maintain and migrate

Recommendation: Proceed with the current approach: consistent "TS CI / …" and "Rust CI / …" job naming is the most direct way to make required-check contexts scannable and stable across workflows, without duplicating Rust workspace work. The only critical follow-up is to migrate branch protection required checks after the first CI run publishes the new contexts.

Grey Divider

File Changes

Other (3)
ci.yml Prefix TS workflow and job check names with “TS CI / …” +4/-4

Prefix TS workflow and job check names with “TS CI / …”

• Renames the workflow to “TS CI” and prefixes the compile/lint job name accordingly. Renames test jobs to “TS CI / Test” to standardize check contexts across the matrix and reusable workflow usage.

.github/workflows/ci.yml


pacquet-ci.yml Rename Pacquet CI to Rust CI and prefix Rust job names +15/-16

Rename Pacquet CI to Rust CI and prefix Rust job names

• Renames the workflow to “Rust CI” and updates job names to use a “Rust CI / …” prefix (Detect Changes, Test per OS, Clippy, Doc, Spell Check, Cargo Deny, Format, Dylint). Also tightens the header comment to reflect the cross-crate workspace intent.

.github/workflows/pacquet-ci.yml


test.yml Make TS test matrix check names compact and stable (OS + Node major) +1/-1

Make TS test matrix check names compact and stable (OS + Node major)

• Changes the reusable test job name to derive a stable label from platform plus Node major version (e.g., “ubuntu-latest / Node 24”), reducing churn from patch/minor Node version strings.

.github/workflows/test.yml


Grey Divider

Qodo Logo

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Line 1: The workflow renames in ci.yml (from "CI" to "TS CI") and
pacquet-ci.yml (from "Pacquet CI" to "Rust CI") will break the
ci-performance-bencher-upload.yml file's workflow_run trigger, which explicitly
filters on the old workflow names. Update the workflows filter list in
ci-performance-bencher-upload.yml (at lines 3-12) to add "TS CI" and "Rust CI"
to the list so the performance benchmarking upload trigger fires correctly when
these renamed workflows complete. Remove the old workflow names ("CI" and
"Pacquet CI") from the filter list once the transition is complete, or keep both
old and new names temporarily during the migration if needed for continuity.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7f9f2a77-f728-4675-beea-fd28f74a75ad

📥 Commits

Reviewing files that changed from the base of the PR and between bc13e49 and 2cae3bc.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • .github/workflows/pacquet-ci.yml
  • .github/workflows/test.yml

Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/ci.yml
@zkochan zkochan force-pushed the ci-structured-pacquet-check-names branch from 2cae3bc to 67143de Compare June 15, 2026 07:52
@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Jun 15, 2026

Copy link
Copy Markdown

Code Review by Qodo

Grey Divider

New Review Started

This review has been superseded by a new analysis

Grey Divider

Qodo Logo

@zkochan zkochan force-pushed the ci-structured-pacquet-check-names branch from 67143de to 621e62d Compare June 15, 2026 07:54
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Looking for bugs?

Check back in a few minutes. An AI review agent is analyzing this pull request.

@zkochan zkochan merged commit a8c4704 into main Jun 15, 2026
25 checks passed
@zkochan zkochan deleted the ci-structured-pacquet-check-names branch June 15, 2026 09:57
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.

1 participant