Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@FrozenPandaz
Copy link
Collaborator

Summary

Migrates GitHub workflows to use mise for managing development tool installations instead of individual setup actions.

Changes

  • mise.toml: Added [email protected] to tool configuration
  • ci.yml: Replaced pnpm, node, rust, and java setup actions with mise-action@v3 in both Linux and macOS jobs
  • e2e-matrix.yml: Replaced all tool setup actions with mise-action in preinstall and e2e jobs
  • publish.yml: Replaced tool setup actions with mise-action in build and publish jobs
  • codeql workflows: Updated to use mise-action@v3

Benefits

  • Single source of truth: All tool versions defined in mise.toml
  • Faster CI setup: Mise provides better caching than individual actions
  • Consistency: Same tool versions across local dev and CI
  • Easier maintenance: Update versions in one place

Test Plan

  • CI workflow passes on Linux
  • CI workflow passes on macOS
  • E2E matrix builds successfully
  • Publish workflow can run (test with dry-run if possible)
  • CodeQL scans complete successfully

Fixes #ISSUE_NUMBER

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
@vercel
Copy link

vercel bot commented Dec 9, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
nx-dev Ready Ready Preview Dec 9, 2025 8:24pm

@netlify
Copy link

netlify bot commented Dec 9, 2025

Deploy Preview for nx-docs ready!

Name Link
🔨 Latest commit ccefa04
🔍 Latest deploy log https://app.netlify.com/projects/nx-docs/deploys/693883d55be613000881f3f8
😎 Deploy Preview https://deploy-preview-33772--nx-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@nx-cloud
Copy link
Contributor

nx-cloud bot commented Dec 9, 2025

View your CI Pipeline Execution ↗ for commit ccefa04

Command Status Duration Result
nx affected --targets=lint,test,test-kt,build,e... ✅ Succeeded 31m 59s View ↗
nx run-many -t check-imports check-lock-files c... ✅ Succeeded 2m 30s View ↗
nx-cloud record -- nx-cloud conformance:check ✅ Succeeded 12s View ↗
nx-cloud record -- nx sync:check ✅ Succeeded <1s View ↗
nx-cloud record -- nx format:check ✅ Succeeded 1s View ↗

☁️ Nx Cloud last updated this comment at 2025-12-09 20:55:01 UTC

@FrozenPandaz FrozenPandaz marked this pull request as ready for review December 9, 2025 16:51
@FrozenPandaz FrozenPandaz requested a review from a team as a code owner December 9, 2025 16:51
mise.toml Outdated
dotnet = "9"
java = "24"
node = "24"
pnpm = "10.11.1"
Copy link
Contributor

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?

Copy link
Contributor

@nx-cloud nx-cloud bot left a comment

Choose a reason for hiding this comment

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

Important

A new CI pipeline execution was requested that may update the conclusion below...

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:

Rerun CI

Nx Cloud View detailed reasoning on Nx Cloud ↗


🎓 Learn more about Self-Healing CI on nx.dev

@FrozenPandaz FrozenPandaz merged commit 029df7a into master Dec 9, 2025
20 checks passed
@FrozenPandaz FrozenPandaz deleted the mise-ci branch December 9, 2025 21:08
FrozenPandaz added a commit that referenced this pull request Dec 10, 2025
## 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.
FrozenPandaz added a commit that referenced this pull request Dec 10, 2025
…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
@github-actions
Copy link
Contributor

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 15, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants