GeezerVison is showing github.com — ci: test on macOS and Node 24 by edusperoni · Pull Request #6096 · NativeScript/nativescript-cli
Conversation
edusperoni
commented
Jul 29, 2026
•
edited by coderabbitai
Bot
Loading
Uh oh!
There was an error while loading. Please reload this page.
PR Checklist
- The PR title follows our guidelines.
- There is an issue for the bug/feature this PR is for. (no tracking issue — happy to open one)
- You have signed the CLA.
- All existing tests are passing.
- Tests for the changes are included. (this PR is CI configuration)
What is the current behavior?
ubuntu-latest with Node 20.x and 22.x — four gaps in one line.
No macOS. Seven test files contain darwin-gated paths that have therefore never executed in CI: ios-project-service, ios-device-debug-service, debug-controller, xcode-select-service, ios-simulator-discovery, host-info, devices-service. On a CLI whose primary job is building iOS apps, the iOS-specific logic is the part with no coverage. This is also the source of the count difference between local (1514) and CI (1501) — 13 tests that simply never run.
No Node 24. Node 24 is the active LTS. Node 20 reached end of life in April 2026 and Node 22 is in maintenance — so the matrix tests a dead runtime and the maintenance one, while the release publishes from 22 and most users are on 24.
What is the new behavior?
| runner |
Node |
ubuntu-latest |
20.x, 22.x, 24.x |
macos-latest |
24.x |
Four jobs rather than a 3×2 cross-product. macOS runners are free on a public repo, but queue time is not, and one darwin leg is enough to cover platform-gated code — a second Node version there would re-run the same suite for very little.
Node 24 is added rather than 20 dropped, since engines still declares >=20.0.0. Worth noting separately that permitting an end-of-life runtime is its own decision; this PR only makes the matrix match what is declared.
harden-runner is now conditional on runner.os == 'Linux' — it only supports the Ubuntu runners.
Verification
Node 24 was validated locally before proposing it, rather than pushing and hoping:
- full suite on Node 24.18.0: 1514 passing, 38 skipped, 101 files — identical to Node 22
npm run build.release succeeds on Node 24, and the built CLI reports its version and renders help
The macOS leg is the one that cannot be pre-validated from a single machine — the point of adding it is to execute code no CI job has run before, so it is possible those 13 tests surface problems. That is the intent, and worth watching on the first run.
Summary by CodeRabbit
- Tests
- Expanded automated test coverage across Ubuntu and macOS environments.
- Added testing for Node.js 24.x alongside existing Node.js 20.x and 22.x configurations.
- Enabled platform-specific test coverage for iOS-related suites on macOS.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
The matrix covered ubuntu with Node 20 and 22, which leaves two gaps.
Node 24 is the active LTS; 20 reached end of life in April 2026 and 22 is in
maintenance. So the versions being tested were a dead one and a maintenance
one, with the release itself published from 22. 24 is added rather than
dropping 20, since engines still allows it.
More significantly, seven test files contain darwin-gated paths that have
never run in CI - ios-project-service, ios-device-debug-service,
debug-controller, xcode-select-service, ios-simulator-discovery, host-info
and devices-service. On a CLI whose main job is building iOS apps, that was
the untested part, and it is the source of the 13-test gap between the local
and CI counts.
One macOS leg on the LTS covers those without a full cross-product; runners
are free on a public repo but the queue time is not. harden-runner only
supports the Ubuntu runners, so it is now conditional.
coderabbitai
Bot
commented
Jul 29, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|

No actionable comments were generated in the recent review. 🎉
ℹ️ Recent review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: f28ca243-2d66-49dc-9ca4-38d93d412ec1
📥 Commits
Reviewing files that changed from the base of the PR and between 4d46547 and f4aac88.
📒 Files selected for processing (1)
.github/workflows/tests.yml
📝 Walkthrough
Walkthrough
The GitHub Actions test matrix now covers Ubuntu with Node.js 20.x, 22.x, and 24.x, plus macOS with Node.js 24.x. Job names include the operating system, and runner hardening remains Linux-only.
Changes
CI test matrix
| Layer / File(s) |
Summary |
Test matrix coverage .github/workflows/tests.yml |
The test job adds Ubuntu Node.js 24.x and macOS Node.js 24.x configurations, updates job naming to include matrix.os, and preserves the Linux-only runner-hardening step. |
Estimated code review effort: 2 (Simple) | ~10 minutes
Possibly related PRs
Poem
A rabbit hops where test runs grow,
On Ubuntu and macOS they go.
Node versions join the cheerful race,
Linux hardening stays in place.
CI carrots bloom in every row!
🚥 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 summarizes the main CI change: adding macOS coverage and Node 24 testing. |
| Docstring Coverage |
✅ Passed |
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
| 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. |
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.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|