Skip to content

ci: fix copilot-setup-steps.yml#1701

Merged
colinaaa merged 2 commits intolynx-family:mainfrom
colinaaa:colin/0909/copilot
Sep 9, 2025
Merged

ci: fix copilot-setup-steps.yml#1701
colinaaa merged 2 commits intolynx-family:mainfrom
colinaaa:colin/0909/copilot

Conversation

@colinaaa
Copy link
Copy Markdown
Collaborator

@colinaaa colinaaa commented Sep 9, 2025

Fix the copilot setup steps failed. See: https://github.com/lynx-family/lynx-stack/actions/runs/17578595129/job/49929491777

Also move .github/copilot-instructions.md to AGENTS.md since GitHub supports AGENTS.md now: https://github.blog/changelog/2025-08-28-copilot-coding-agent-now-supports-agents-md-custom-instructions/

Summary by CodeRabbit

  • New Features

    • None
  • Chores

    • Enhanced CI to prepare WebAssembly build environments.
    • Adjusted build to exclude benchmark targets and to fail on errors.
    • Removed automated post-build retry steps.
  • Documentation

    • Updated project title for clarity.
    • Added Corepack enablement to setup instructions before dependency install.
    • Simplified development build header wording.

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).
  • Changeset added, and when a BREAKING CHANGE occurs, it needs to be clearly marked (or not required).

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Sep 9, 2025

⚠️ No Changeset found

Latest commit: 3eb8551

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Sep 9, 2025

📝 Walkthrough

Walkthrough

Adds a Rust wasm toolchain setup to the Copilot CI workflow, adjusts the turbo build filters and removes retry/continue-on-error build logic; updates AGENTS.md to use Corepack and tweaks headings.

Changes

Cohort / File(s) Summary of Changes
CI workflow (Copilot setup)
.github/workflows/copilot-setup-steps.yml
Inserts actions-rust-lang/setup-rust-toolchain configured for wasm32-unknown-unknown (with cache key), updates the build command to pnpm turbo build --filter !benchx_cli --filter "!@lynx-js/benchmark-*" --summarize, removes continue-on-error: true from the build step, and deletes the post-build retry steps.
Documentation (Agent guide)
AGENTS.md
Changes title to "Lynx Stack"; adds Corepack setup lines (npm install -g corepack, corepack enable) before pnpm install --frozen-lockfile; removes "TypeScript only" from the Development build header.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • PupilTong

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title clearly indicates the primary intent of fixing the Copilot setup steps in the CI workflow, which represents a significant part of this pull request despite not mentioning the documentation update.
Description Check ✅ Passed The description accurately describes the two main changes—correcting the failing Copilot setup steps and moving the custom instructions file to AGENTS.md—making it fully related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I hopped through YAML fields so bright,
Set Rust for wasm, cache just right.
Builds trimmed down, no retry dance,
Corepack primed for every chance.
Thump-thump, little CI—onward we prance. 🐇


📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 85efbce and 3eb8551.

📒 Files selected for processing (1)
  • .github/workflows/copilot-setup-steps.yml (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/copilot-setup-steps.yml
⏰ 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). (7)
  • GitHub Check: build / Build (Ubuntu)
  • GitHub Check: build / Build (Windows)
  • GitHub Check: test-rust / clippy
  • GitHub Check: test-rust / Test (Ubuntu)
  • GitHub Check: code-style-check
  • GitHub Check: zizmor
  • GitHub Check: copilot-setup-steps
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

@codecov
Copy link
Copy Markdown

codecov bot commented Sep 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
.github/workflows/copilot-setup-steps.yml (2)

25-31: Enable pnpm cache via setup-node

Since we're already using setup-node, turn on the built-in pnpm cache to speed up installs.

-      - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
-        with:
-          node-version: "24"
+      - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
+        with:
+          node-version: "24"
+          cache: 'pnpm'

52-56: Don’t mutate the workspace in a “dependency smoke test” step

Running pnpm dprint fmt will modify files; that’s unnecessary for a dependency probe and can mask issues. Use --version/--help checks instead.

-          pnpm dprint fmt
-          pnpm changeset --help
+          pnpm dprint --version
+          pnpm changeset --help
🧹 Nitpick comments (6)
.github/workflows/copilot-setup-steps.yml (2)

32-36: Is uv actually needed here?

We install uv but don't invoke Python tooling later. If the prior failures weren’t Python-related, consider removing the uv step to save ~10–15s per run. If uv is required by a hidden step, ignore this.

Would you like me to open a follow-up PR to prune it if unused?


41-46: Prefer corepack from Node over global install

Node 24 bundles Corepack. Installing a global corepack can drift from the Node-bundled version. Enable Corepack and trust packageManager from package.json.

-          npm install -g corepack@latest
-          corepack enable
+          corepack enable
           pnpm install --frozen-lockfile
AGENTS.md (4)

20-25: Corepack usage looks good; add a note about pnpm version pinning

Since Corepack respects the packageManager field, clarify that pnpm is pinned there. This prevents accidental local pnpm drift.

 pnpm install --frozen-lockfile
+
+# Note: pnpm version is pinned via "packageManager" in package.json and managed by Corepack.

258-266: Remove duplicated paragraph

The “Specify what files or directories…” paragraph appears twice.

-Specify what files or directories the instructions apply to by adding applyTo frontmatter to the Markdown files, using glob syntax.
-
-Specify what files or directories the instructions apply to by adding applyTo frontmatter to the Markdown files, using glob syntax. For example:
+Specify what files or directories the instructions apply to by adding applyTo frontmatter to the Markdown files, using glob syntax. For example:

1-4: Rename header to reflect Copilot instructions context

If AGENTS.md also serves as the canonical Copilot custom instructions file, consider a more explicit title to aid discovery in the repo.

-# Lynx Stack
+# Lynx Stack – Copilot Coding Agent Instructions

96-106: Align docs with CI: prefer rustup target vs. CLI install note

Since CI installs the wasm32 target via setup-rust-toolchain, add a one-liner that mirrors this for local dev to reduce confusion.

 rustup target add wasm32-unknown-unknown
+# If using rust-toolchain.toml, `rustup show` should list `wasm32-unknown-unknown`
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ffc1cd5 and 85efbce.

📒 Files selected for processing (2)
  • .github/workflows/copilot-setup-steps.yml (1 hunks)
  • AGENTS.md (3 hunks)
🧰 Additional context used
🧠 Learnings (9)
📚 Learning: 2025-08-13T11:36:12.075Z
Learnt from: colinaaa
PR: lynx-family/lynx-stack#1523
File: vitest.config.ts:52-72
Timestamp: 2025-08-13T11:36:12.075Z
Learning: The lynx-stack project requires Node.js >=22 as specified in package.json engines, so Node.js compatibility fallbacks for features introduced before v22 are unnecessary.

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-19T11:25:36.127Z
Learnt from: colinaaa
PR: lynx-family/lynx-stack#1558
File: .changeset/solid-squids-fall.md:2-2
Timestamp: 2025-08-19T11:25:36.127Z
Learning: In the lynx-family/lynx-stack repository, changesets should use the exact package name from package.json#name, not generic or unscoped names. Each package has its own specific scoped name (e.g., "lynx-js/react-transform" for packages/react/transform).

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-20T04:56:36.011Z
Learnt from: colinaaa
PR: lynx-family/lynx-stack#1566
File: package.json:53-53
Timestamp: 2025-08-20T04:56:36.011Z
Learning: In lynx-stack, Node.js v24 is the preferred/default version for development (established in PR #1557), but Node.js v22 compatibility is maintained specifically for external CI systems like rspack-ecosystem-ci. The engines.node specification uses "^22 || ^24" to support both versions while keeping v24 as the primary target.

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-14T12:54:51.143Z
Learnt from: upupming
PR: lynx-family/lynx-stack#1370
File: .changeset/brave-melons-add.md:1-7
Timestamp: 2025-08-14T12:54:51.143Z
Learning: In the lynx-family/lynx-stack repository, packages use 0.x.x versioning where minor version bumps indicate breaking changes (not major bumps), following pre-1.0 semantic versioning conventions.

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-25T09:16:24.277Z
Learnt from: CR
PR: lynx-family/lynx-stack#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-25T09:16:24.277Z
Learning: Applies to .github/*.instructions.md : When you learn new patterns or best practices for `lynx-stack`, update or create one or more `.github/*.instructions.md` files with natural language instructions

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-12T16:09:32.413Z
Learnt from: colinaaa
PR: lynx-family/lynx-stack#1497
File: packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_snapshot/mod.rs/basic_full_static.js:9-10
Timestamp: 2025-08-12T16:09:32.413Z
Learning: In the Lynx stack, functions prefixed with `__` that are called in transformed code may be injected globally by the Lynx Engine at runtime rather than exported from the React runtime package. For example, `__CreateFrame` is injected globally by the Lynx Engine, not exported from lynx-js/react.

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-27T08:10:09.932Z
Learnt from: colinaaa
PR: lynx-family/lynx-stack#1612
File: packages/rspeedy/create-rspeedy/template-react-vitest-rltl-ts/src/tsconfig.json:3-13
Timestamp: 2025-08-27T08:10:09.932Z
Learning: In the lynx-family/lynx-stack repository, Rspeedy templates use `lynx-js/rspeedy/client` types via `rspeedy-env.d.ts` instead of `vite/client` types. Rspeedy provides its own client-side environment type definitions and doesn't require direct Vite type references.

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-21T08:46:54.494Z
Learnt from: upupming
PR: lynx-family/lynx-stack#1370
File: packages/webpack/cache-events-webpack-plugin/src/LynxCacheEventsRuntimeModule.ts:23-27
Timestamp: 2025-08-21T08:46:54.494Z
Learning: In Lynx webpack runtime modules, the team prioritizes performance and simplicity over defensive runtime error handling. They prefer relying on compile-time type safety (TypeScript) rather than adding runtime checks like try-catch blocks or type validation, especially for performance-critical code like cache event setup/cleanup functions.

Applied to files:

  • AGENTS.md
📚 Learning: 2025-08-25T09:16:24.277Z
Learnt from: CR
PR: lynx-family/lynx-stack#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-25T09:16:24.277Z
Learning: Always run a full build with `pnpm turbo build` before running any tests

Applied to files:

  • AGENTS.md
  • .github/workflows/copilot-setup-steps.yml
⏰ 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). (3)
  • GitHub Check: code-style-check
  • GitHub Check: zizmor
  • GitHub Check: copilot-setup-steps
🔇 Additional comments (2)
.github/workflows/copilot-setup-steps.yml (1)

37-41: wasm-bindgen version alignment confirmed – The CLI is pinned to 0.2.101, which matches the version in Cargo.lock; no changes needed.

AGENTS.md (1)

38-40: Fix Turbo watch command (current form will fail)

Turbo’s syntax is turbo run <task> --watch. The documented pnpm turbo watch build is invalid.

-# Development build with watching
-pnpm turbo watch build
+# Development build with watching
+pnpm turbo run build --watch
⛔ Skipped due to learnings
Learnt from: CR
PR: lynx-family/lynx-stack#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-25T09:16:24.277Z
Learning: Always run a full build with `pnpm turbo build` before running any tests

Comment thread .github/workflows/copilot-setup-steps.yml Outdated
@relativeci
Copy link
Copy Markdown

relativeci bot commented Sep 9, 2025

Web Explorer

#4983 Bundle Size — 367.22KiB (0%).

3eb8551(current) vs 2d184be main#4977(baseline)

Bundle metrics  no changes
                 Current
#4983
     Baseline
#4977
No change  Initial JS 144.22KiB 144.22KiB
No change  Initial CSS 31.84KiB 31.84KiB
No change  Cache Invalidation 0% 0%
No change  Chunks 8 8
No change  Assets 8 8
No change  Modules 218 218
No change  Duplicate Modules 16 16
No change  Duplicate Code 3.32% 3.32%
No change  Packages 4 4
No change  Duplicate Packages 0 0
Bundle size by type  no changes
                 Current
#4983
     Baseline
#4977
No change  JS 235.59KiB 235.59KiB
No change  Other 99.79KiB 99.79KiB
No change  CSS 31.84KiB 31.84KiB

Bundle analysis reportBranch colinaaa:colin/0909/copilotProject dashboard


Generated by RelativeCIDocumentationReport issue

@relativeci
Copy link
Copy Markdown

relativeci bot commented Sep 9, 2025

React Example

#4990 Bundle Size — 238.2KiB (0%).

3eb8551(current) vs 2d184be main#4984(baseline)

Bundle metrics  no changes
                 Current
#4990
     Baseline
#4984
No change  Initial JS 0B 0B
No change  Initial CSS 0B 0B
No change  Cache Invalidation 0% 0%
No change  Chunks 0 0
No change  Assets 4 4
No change  Modules 163 163
No change  Duplicate Modules 67 67
No change  Duplicate Code 46.88% 46.88%
No change  Packages 2 2
No change  Duplicate Packages 0 0
Bundle size by type  no changes
                 Current
#4990
     Baseline
#4984
No change  IMG 145.76KiB 145.76KiB
No change  Other 92.45KiB 92.45KiB

Bundle analysis reportBranch colinaaa:colin/0909/copilotProject dashboard


Generated by RelativeCIDocumentationReport issue

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Sep 9, 2025

CodSpeed Performance Report

Merging #1701 will not alter performance

Comparing colinaaa:colin/0909/copilot (3eb8551) with main (ffc1cd5)

Summary

✅ 43 untouched benchmarks

@colinaaa colinaaa requested a review from PupilTong September 9, 2025 11:50
@colinaaa colinaaa enabled auto-merge (squash) September 9, 2025 12:00
@colinaaa colinaaa merged commit 97769a9 into lynx-family:main Sep 9, 2025
139 of 147 checks passed
@colinaaa colinaaa deleted the colin/0909/copilot branch September 9, 2025 12:37
@coderabbitai coderabbitai bot mentioned this pull request Sep 10, 2025
3 tasks
@coderabbitai coderabbitai bot mentioned this pull request Dec 18, 2025
1 task
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