Skip to content

Update action runtime to node24 and polish e2e test matrix#98

Merged
maxim-lobanov merged 3 commits intomaxim-lobanov:masterfrom
Goooler:master
Mar 18, 2026
Merged

Update action runtime to node24 and polish e2e test matrix#98
maxim-lobanov merged 3 commits intomaxim-lobanov:masterfrom
Goooler:master

Conversation

@Goooler
Copy link
Copy Markdown
Contributor

@Goooler Goooler commented Mar 4, 2026

Copilot AI and others added 2 commits March 4, 2026 19:34
macOS 12, 13, and 14 GitHub Actions runners are deprecated. This replaces them with current macOS 15 and macOS 26 (Tahoe) runners and updates the Xcode version matrices to match what's actually available on each image.

## Changes

- **Removed**: `versions-macOS-12`, `versions-macOS-13`, `versions-macOS-14` jobs
- **Added** `versions-macOS-15` — tests Xcode `16.2`, `16.4`, `latest`, `latest-stable` ([runner image ref](https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md#xcode))
- **Added** `versions-macOS-26` — tests Xcode `26.2`, `26.3`, `latest`, `latest-stable` ([runner image ref](https://github.com/actions/runner-images/blob/main/images/macos/macos-26-Readme.md#xcode))
- **Added** top-level `permissions: contents: read` (least-privilege hardening)

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
GitHub Actions now supports `node24` as a runtime target. This updates
the action to use it.


https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

## Changes

- **`action.yml`**: `using: node20` → `using: node24`
- **`package.json`**: `@types/node` bumped from `^20.6.3` → `^24.0.0`
- **`.github/workflows/workflow.yml`**: CI node version `20.x` → `24.x`
- **`dist/index.js`**: rebuilt against updated dependencies

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
Co-authored-by: Zongle Wang <wangzongler@gmail.com>
Two nearly identical jobs (`versions-macOS-15`, `versions-macOS-26`)
duplicated all steps, differing only in runner and Xcode versions.

## Changes

- **Merged into single `versions` job** using a 2D matrix (`runner` ×
`xcode-version`)
- **Shared versions** (`latest`, `latest-stable`) expressed as
cross-product across both runners
- **Runner-specific numeric versions** added via `include` entries

```yaml
strategy:
  matrix:
    runner: [macos-15, macos-26]
    xcode-version: [latest, latest-stable]
    include:
      # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md#xcode
      - runner: macos-15
        xcode-version: '16.2'
      - runner: macos-15
        xcode-version: '16.4'
      # https://github.com/actions/runner-images/blob/main/images/macos/macos-26-Readme.md#xcode
      - runner: macos-26
        xcode-version: '26.2'
      - runner: macos-26
        xcode-version: '26.3'
  fail-fast: false
```

All 8 original test combinations are preserved.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Goooler <10363352+Goooler@users.noreply.github.com>
@Goooler
Copy link
Copy Markdown
Contributor Author

Goooler commented Mar 18, 2026

As a workaround, you can replace

maxim-lobanov/setup-xcode@v1

with

goooler/setup-xcode@master

@maxim-lobanov maxim-lobanov merged commit 869a873 into maxim-lobanov:master Mar 18, 2026
9 checks passed
@maxim-lobanov
Copy link
Copy Markdown
Owner

Thank you for contribution!

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.

Node.js 24

3 participants