Skip to content

fix(ci): read tool versions from .mise.toml via mise-action - #119

Merged
gladiuscode merged 2 commits into
mainfrom
fix/ci-mise-setup
Sep 28, 2026
Merged

gladiuscode merged 2 commits into
mainfrom
fix/ci-mise-setup

Conversation

@gladiuscode

@gladiuscode gladiuscode commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

CI broke after #114 removed .nvmrc: every job failed at "Setup Node.js" because actions/setup-node was still reading node-version-file: .nvmrc.

  • Setup action (.github/actions/setup/action.yml): replaces actions/setup-node with jdx/mise-action (pinned by SHA, v4.3.0). A new tools input (default node) is passed to mise install. Yarn is left out of mise because the vendored .yarn/releases/yarn-4.11.0.cjs is used through yarnPath.
  • iOS jobs (pr.yml, release.yml): pass tools: node ruby, so CocoaPods runs on Ruby 3.4.4 from .mise.toml instead of the runner's Homebrew Ruby.
  • .mise.toml: [min_version] mise = \"2024\" is invalid in current mise ("unknown field mise, expected hard or soft"), so it is now min_version = \"2024.1.0\".

Verification

PR Validation run on this branch: https://github.com/gladiuscode/react-native-orientation-director/actions/runs/36407890098

  • Setup passes in every job; lint, test, build-library and build-android pass.
  • build-ios fails later at pod install (React-Core-prebuilt differs from Pods/Local Podspecs, and the lockfile was generated with CocoaPods 1.16.2 while example/Gemfile.lock pins 1.14.3). This is not caused by this change: there has been no passing iOS run since the RN 0.86 / Expo SDK 56 upgrades. It will be handled separately.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated the automated iOS build and release workflows to configure Node and Ruby during setup.
    • Updated the minimum-version setting for the tool environment.
    • Existing dependency restoration, conditional installation, and cache-saving behavior remains unchanged.

gladiuscode and others added 2 commits September 28, 2026 12:07
.nvmrc was removed in favour of .mise.toml, breaking the Setup Node.js step.
Install node (and ruby for iOS jobs) with jdx/mise-action instead; Yarn
stays vendored via yarnPath.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 469b84eb-e629-4adf-b2af-9c684a68e586

📥 Commits

Reviewing files that changed from the base of the PR and between e17f5f0 and 9fde60c.

📒 Files selected for processing (4)
  • .github/actions/setup/action.yml
  • .github/workflows/pr.yml
  • .github/workflows/release.yml
  • .mise.toml

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The composite Setup action now uses jdx/mise-action with a configurable tools input. The iOS PR and release workflows request Node and Ruby. .mise.toml sets the minimum mise version to 2024.1.0.

Changes

CI Tool Setup

Layer / File(s) Summary
Configure mise-based setup
.github/actions/setup/action.yml, .mise.toml
The Setup action accepts a tools input, defaulting to node, and uses jdx/mise-action instead of actions/setup-node. .mise.toml sets min_version to 2024.1.0.
Request tools in iOS workflows
.github/workflows/pr.yml, .github/workflows/release.yml
The iOS jobs pass node ruby to the Setup action.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 9fde6

The setup action now selects tools through mise, and the iOS workflows request Node and Ruby. Yarn remains available through the hosted runners and uses the vendored project version, leaving no material merge-readiness concern.

Architecture Summary

Architecture risk: 🔵 Low · up to 9fde6

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .github/actions/setup/action.yml: The action description now covers setup from .mise.toml; an optional tools input, defaulting to node, selects tools for jdx/mise-action. This replaces the actions/setup-node step that read the Node.js version from .nvmrc.
  • observed — Modified behavior in .github/workflows/pr.yml: The iOS job’s setup step now explicitly requests the Node and Ruby tools.
  • observed — Modified behavior in .github/workflows/release.yml: The iOS build job now passes node and ruby as tools to the Setup action.
  • observed — Modified behavior in .mise.toml: The minimum mise version setting changes from the [min_version] table value "2024" to the top-level value "2024.1.0".
🚥 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 clearly and concisely describes the main CI change: using mise-action to read tool versions from .mise.toml.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@gladiuscode
gladiuscode merged commit fee072e into main Sep 28, 2026
5 of 6 checks passed
@gladiuscode
gladiuscode deleted the fix/ci-mise-setup branch September 28, 2026 13:35
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