Skip to content

build(workflows): remove Node.js v12/v14 from macOS test matrix (no arm64 binaries)#12448

Draft
Planeshifter wants to merge 1 commit into
developfrom
philipp/ci-fix-macos-arm64-node-matrix-2026-06-02
Draft

build(workflows): remove Node.js v12/v14 from macOS test matrix (no arm64 binaries)#12448
Planeshifter wants to merge 1 commit into
developfrom
philipp/ci-fix-macos-arm64-node-matrix-2026-06-02

Conversation

@Planeshifter
Copy link
Copy Markdown
Member

@Planeshifter Planeshifter commented Jun 2, 2026

Description

What is the purpose of this pull request?

This pull request:

  • Removes Node.js v12 and v14 from the matrix in macos_test.yml, macos_benchmark.yml, and macos_test_cov.yml.

macOS-latest now resolves to macOS 15 running on arm64 (Apple Silicon). Node.js v12 and v14 were never released with official arm64 macOS binaries. The actions/setup-node@v6.4.0 action fails at every daily run with:

Unable to find Node version '12' for platform darwin and architecture arm64
Unable to find Node version '14' for platform darwin and architecture arm64

Both versions are EOL:

  • Node.js v12: EOL April 2022 (LTS ended December 2022)
  • Node.js v14: EOL April 2023

x64 coverage for these versions is retained by linux_test.yml, which runs on ubuntu-latest. Removing them from the macOS matrix is consistent with macos_test_npm_install.yml, which already only tests ['20', '18', '16'].

Affected workflows and change summary:

Workflow Before After
macos_test.yml ['16', '14', '12'] ['16']
macos_benchmark.yml ['16', '14', '12'] ['16']
macos_test_cov.yml ['16', '14', '12'] ['16']

Related Issues

Does this pull request have any related issues?

This pull request has the following related issues:

  • No open issue on file; identified via automated CI failure analysis on 2026-06-02.

Questions

Any questions for reviewers of this pull request?

No.

Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

Reference: failed workflow run showing the arm64 binary error — https://github.com/stdlib-js/stdlib/actions/runs/26814321669

macos_test_npm_install.yml already uses ['20', '18', '16'] and served as the precedent for this change.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

AI Assistance

When authoring the changes proposed in this PR, did you use any kind of AI assistance?

  • Yes
  • No

If you answered "yes" above, how did you use AI assistance?

  • Code generation (e.g., when writing an implementation or fixing a bug)
  • Test/benchmark generation
  • Documentation (including examples)
  • Research and understanding

Disclosure

If you answered "yes" to using AI assistance, please provide a short disclosure indicating how you used AI assistance. This helps reviewers determine how much scrutiny to apply when reviewing your contribution. Example disclosures: "This PR was written primarily by Claude Code." or "I consulted ChatGPT to understand the codebase, but the proposed changes were fully authored manually by myself.".

This PR was written primarily by Claude Code as part of an automated CI failure investigation routine. The root cause (macOS arm64 runner + no arm64 Node.js binaries for v12/v14) and the fix were identified and validated by the AI agent. A human should confirm the matrix reduction is acceptable before merging.


@stdlib-js/reviewers


Generated by Claude Code

The macos_test, macos_benchmark, and macos_test_cov workflows use
macOS-latest, which now resolves to macOS 15 on arm64 (Apple
Silicon). Node.js v12 and v14 have no official arm64 macOS binaries;
actions/setup-node@v6.4.0 fails with "Unable to find Node version
'12' for platform darwin and architecture arm64."

Both versions are EOL (v12 since December 2022, v14 since April
2023) and are still covered by linux_test.yml on x64. Remove them
from the macOS matrices, consistent with macos_test_npm_install.yml
which already excludes them.

https://claude.ai/code/session_01F6HMgfZ1MCE9N74ZFrTYim
@Planeshifter Planeshifter requested a review from kgryte June 2, 2026 16:07
@stdlib-bot stdlib-bot added the Needs Review A pull request which needs code review. label Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs Review A pull request which needs code review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants