GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — ci: test on macOS and Node 24 by edusperoni · Pull Request #6096 · NativeScript/nativescript-cli

Conversation

@edusperoni

@edusperoni edusperoni commented Jul 29, 2026 •
edited by coderabbitai Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

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.

All reactions
@edusperoni
ci: test on macOS and Node 24
f4aac88
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

coderabbitai Bot commented Jul 29, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Review Change Stack

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

  • NativeScript/nativescript-cli#6087: Modifies the same test workflow’s operating-system and Node.js matrix configuration.

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
  • X
  • Mastodon
  • Reddit
  • LinkedIn

Comment @coderabbitai help to get the list of available commands.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

NathanWalker
NathanWalker approved these changes Jul 29, 2026
View reviewed changes
@NathanWalker
NathanWalker merged commit 695de03 into main Jul 29, 2026
9 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@NathanWalker
NathanWalker deleted the ci/macos-and-node-24 branch July 29, 2026 16:11
@coderabbitai coderabbitai Bot mentioned this pull request Jul 29, 2026
test: replace mocha with vitest #6094
Merged
4 of 5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@NathanWalker NathanWalker NathanWalker approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

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.

2 participants

@edusperoni @NathanWalker
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.