-
Notifications
You must be signed in to change notification settings - Fork 2.6k
chore(repo): migrate GitHub workflows to use mise for dev tools #33772
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Add pnpm to mise.toml configuration and replace individual setup actions (pnpm, node, rust, java, dotnet, bun) with mise-action@v3 across all workflows. Updated workflows: - ci.yml (Linux and macOS jobs) - e2e-matrix.yml (preinstall and e2e jobs) - publish.yml (build and publish jobs) - codeql-master.yml and codeql-pr.yml Benefits: - Single source of truth for tool versions in mise.toml - Faster CI setup with mise caching - Consistent environments across local dev and CI - Easier version management
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Deploy Preview for nx-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
View your CI Pipeline Execution ↗ for commit ccefa04
☁️ Nx Cloud last updated this comment at |
mise.toml
Outdated
| dotnet = "9" | ||
| java = "24" | ||
| node = "24" | ||
| pnpm = "10.11.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doesn't it make sense to just use corepack for pnpm since it's already defined in the package.json file? just so we're not maintaining the version in 1 places?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nx Cloud has identified a possible root cause for your failed CI:
Our e2e tests are failing due to a pre-existing package manager configuration mismatch in the test infrastructure. Test projects are created with yarn configuration but our test utilities attempt to execute pnpm commands (based on SELECTED_PM='pnpm'). This issue is unrelated to the mise migration changes, which only modify how tools are installed in CI workflows.
No code changes were suggested for this issue.
If the issue was transient, you can trigger a rerun:
🎓 Learn more about Self-Healing CI on nx.dev
## Current Behavior
The inline `mise_toml` config in `e2e-matrix.yml` was overwriting the
entire `mise.toml` file, causing rust, dotnet, bun, and java to NOT be
installed by mise. This resulted in slow package installs as these tools
were downloaded during `pnpm install` instead.
## Expected Behavior
All tools from `mise.toml` (rust, dotnet, bun, java) should be installed
by mise, with only the node version varying based on the matrix.
## Solution
Use mise's template syntax to make node version configurable via
`NODE_VERSION` env var while preserving all other tools from
`mise.toml`:
```toml
node = "{{ env['NODE_VERSION'] | default(value='24') }}"
```
Then in the workflow, set the env var instead of overriding the entire
config:
```yaml
- name: Setup dev tools with mise
uses: jdx/mise-action@v3
env:
NODE_VERSION: ${{ matrix.node_version }}
```
## Related Issue(s)
Fixes slow install times in nightly e2e-matrix workflow after #33772.
…33792) ## Current Behavior After the mise migration (#33772), the `publish.yml` workflow fails during the "Build Wasm" step with: ``` error[E0554]: `#![feature]` may not be used on the stable release channel --> packages/nx/src/lib.rs:2:33 | 2 | #![cfg_attr(target_os = "wasi", feature(wasi_ext))] ``` The WASM build requires nightly Rust because it uses the unstable `wasi_ext` feature. The `build:wasm` script attempts to switch to nightly via `rustup override set`, but after the mise migration, the nightly toolchain is no longer pre-installed, causing the build to fail with the stable compiler. ## Expected Behavior The WASM build should successfully compile using nightly Rust with the `wasi_ext` feature. ## Related Issue(s) Fixes the publish workflow regression introduced in #33772
|
This pull request has already been merged/closed. If you experience issues related to these changes, please open a new issue referencing this pull request. |
Summary
Migrates GitHub workflows to use mise for managing development tool installations instead of individual setup actions.
Changes
mise-action@v3in both Linux and macOS jobsmise-action@v3Benefits
mise.tomlTest Plan
Fixes #ISSUE_NUMBER