From b28473cae999b1bd0972c4b70de6e80bfd981420 Mon Sep 17 00:00:00 2001 From: Ole Birk Rasmussen <1476509+olerass@users.noreply.github.com> Date: Fri, 22 May 2026 11:13:28 +0200 Subject: [PATCH] chore(ci): manage Node via mise --- .github/workflows/android-e2e.yml | 2 ++ .github/workflows/ios-e2e.yml | 2 ++ .nvmrc | 1 - .tool-versions | 1 - README.md | 18 ++++++------------ e2e/README.md | 7 ++----- mise.toml | 5 +++++ 7 files changed, 17 insertions(+), 19 deletions(-) delete mode 100644 .nvmrc delete mode 100644 .tool-versions create mode 100644 mise.toml diff --git a/.github/workflows/android-e2e.yml b/.github/workflows/android-e2e.yml index 7787e4e7652..dde4af6482c 100644 --- a/.github/workflows/android-e2e.yml +++ b/.github/workflows/android-e2e.yml @@ -169,6 +169,8 @@ jobs: - name: Install Maestro uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1 + with: + install_args: maestro - name: Install Anvil uses: foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de diff --git a/.github/workflows/ios-e2e.yml b/.github/workflows/ios-e2e.yml index 676b765804d..d9bfadc0309 100644 --- a/.github/workflows/ios-e2e.yml +++ b/.github/workflows/ios-e2e.yml @@ -78,6 +78,8 @@ jobs: - name: Install Maestro uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1 + with: + install_args: maestro - name: Install Anvil uses: foundry-rs/foundry-toolchain@82dee4ba654bd2146511f85f0d013af94670c4de diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index 53d1c14db37..00000000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v22 diff --git a/.tool-versions b/.tool-versions deleted file mode 100644 index 775dc3aaa19..00000000000 --- a/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -maestro cli-2.0.10 diff --git a/README.md b/README.md index c20c9a0ec64..91d532363d5 100644 --- a/README.md +++ b/README.md @@ -19,17 +19,11 @@ ### Prerequisites -1. Install nvm: https://github.com/creationix/nvm -2. Install the required Node.js version: `nvm install` -3. Install Ruby (version specified in `.ruby-version`). macOS system Ruby is - too old and will not work. Use a version manager such as - [rbenv](https://github.com/rbenv/rbenv) or [rvm](https://rvm.io/). -4. Enable yarn: `corepack enable` - -**Note:** On future terminal sessions, run `nvm use` to activate the correct -Node.js version. Alternatively, set up -[automatic nvm switching](https://github.com/nvm-sh/nvm#deeper-shell-integration) -in your shell. +1. Install [mise](https://mise.jdx.dev): `curl https://mise.run | sh`. See the + [installation docs](https://mise.jdx.dev/getting-started.html) for shell + activation (required so tool versions auto-switch when you `cd` into the repo). +2. From the repo root: `mise install`. This installs all pinned tools. +3. Enable yarn: `corepack enable` ### Internal developers @@ -119,7 +113,7 @@ patched by the postinstall script from `GOOGLE_SERVICE_API_KEY` in your `.env`. open -a "Android Studio" # macOS ``` Always launch Android Studio this way so it inherits your shell PATH - (including `node` from nvm). Launching from Spotlight or the Dock will + (including `node` from mise). Launching from Spotlight or the Dock will cause Gradle sync to fail with "Cannot run program node". ## Developing diff --git a/e2e/README.md b/e2e/README.md index 6b036fff1bb..460b7e950f0 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -2,12 +2,9 @@ ### Setup -The Maestro version used by this repo is pinned in `.tool-versions` at the repo root. Both CI and local installs read from that file. +The Maestro version used by this repo is pinned via mise. See the [repo README](../README.md#prerequisites) for the full setup. Both CI and local installs use the same pin. -1. Install [mise](https://mise.jdx.dev): `curl https://mise.run | sh` (or via your package manager). See the [installation docs](https://mise.jdx.dev/getting-started.html) for shell activation. -2. From the repo root: `mise install` -- installs the pinned Maestro version (and any other tools added to `.tool-versions` over time). - -To upgrade Maestro across the team, update the version in `.tool-versions` and open a PR. CI uses the same file, so everyone stays in sync. +To upgrade Maestro across the team, update the version in `mise.toml`. ### Run tests locally diff --git a/mise.toml b/mise.toml new file mode 100644 index 00000000000..6a2654dcf25 --- /dev/null +++ b/mise.toml @@ -0,0 +1,5 @@ +[tools] +maestro = "cli-2.0.10" + +[settings] +idiomatic_version_file_enable_tools = ["node"]