Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20.11.1
24.15.0
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,5 @@ inputs:
This input is deprecated. Please migrate to TEXT or PAYLOAD variable

runs:
using: node20
using: node24
main: dist/index.js
Comment on lines 35 to 37
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Check if README and CHANGELOG exist
git ls-files | grep -i -E '(readme|changelog)' | head -20

Repository: mattermost/action-mattermost-notify

Length of output: 89


🌐 Web query:

GitHub Actions node24 runner support requirements version 2.327.1

💡 Result:

GitHub Actions runner version 2.327.1 introduces support for executing Node.js 24 actions while maintaining backward compatibility with Node.js 20. This is the minimum runner version required for Node.js 24-compatible GitHub Actions (e.g., actions/checkout v5 requires runner v2.327.1 or newer). No additional OS or hardware requirements beyond standard self-hosted runner setup are specified for Node 24 support in this version. Node 24 binaries are bundled in the runner, but Linux ARM32 lacks a Node 24 binary, falling back to Node 20 with a warning. Full enforcement of Node 24 as default occurs later (runner v2.328.0+ with feature flags), with Node 20 deprecation starting June 2, 2026.

Citations:


🌐 Web query:

GitHub Actions node24 macOS compatibility ARM32 support

💡 Result:

GitHub Actions supports Node.js 24 on macOS runners, which are available in both ARM64 (standard macos-latest, macos-15) and x64/Intel (macos-15-large, macos-15-intel) architectures. Node.js 24 is pre-installed and updated regularly on these images (e.g., v24.15.0 on recent macos-15-arm64 images). The setup-node action also tests Node 24 on macOS runners. There is no ARM32 support in GitHub Actions runners for any architecture, including macOS. GitHub-hosted macOS runners do not offer ARM32 hardware. Node.js 24 does not provide official binaries for ARM32 (armv7l); official builds are for ARM64 (AArch64), x64, and others. ARM32 (32-bit ARM) support is deprecated in GitHub Actions runners, particularly for Linux ARM32, with Node 24 enforcement handling it via warnings/fallbacks to Node 20, but macOS runners are unaffected as they lack ARM32. For self-hosted runners on hypothetical ARM32 macOS hardware (uncommon, as Apple Silicon is ARM64), Node 24 would not run natively without custom builds, and GitHub Actions runner software does not support it post-Node 20 deprecation.

Citations:


🏁 Script executed:

# Check the repository structure to understand what we're working with
head -50 action.yml

Repository: mattermost/action-mattermost-notify

Length of output: 1086


🏁 Script executed:

# Check the README to see if breaking changes are documented
cat README.md | head -100

Repository: mattermost/action-mattermost-notify

Length of output: 3996


🌐 Web query:

Node.js 24 system requirements macOS minimum version compatibility

💡 Result:

Node.js 24 requires macOS 13.5 (Ventura) or later for both Intel (x64) and Apple Silicon (arm64) architectures. This is the minimum supported version for pre-built binaries and running the runtime. To build Node.js from source, Xcode 16.1 or later (specifically Xcode Command Line Tools >=13 in v24.x docs, but updated to >=16.4 in main) is required, and binaries are compiled with -mmacosx-version-min=13.5 targeting macOS 13.

Citations:


Breaking change for self-hosted runners — document the new minimum runner version requirement.

Switching runs.using to node24 introduces a breaking change for self-hosted runner consumers. This needs to be documented explicitly in README.md and considered for a major version bump when released:

  • Self-hosted runners must be at v2.327.1 or newer; older versions will fail with Parameter 'using: node24' is not supported.
  • macOS runners require version 13.5 or later (Ventura+); macOS 13.4 and lower are not supported.
  • Linux self-hosted runners on ARM32 will fall back to Node 20 with a warning (official Node 24 binaries do not exist for ARM32).
  • GitHub-hosted macOS runners (ARM64 and x64) support Node 24; GitHub-hosted runners do not offer ARM32.
  • Beginning June 2nd, 2026, GitHub Actions runners will deprecate Node 20 by default.

Currently, the README.md does not document these requirements or the breaking nature of this transition. Recommend adding a "Requirements" or "Breaking Changes" section covering the minimum runner version and macOS version constraint so users on self-hosted infrastructure understand the impact before upgrading.

Confirm whether this release will be published under a new major tag (e.g. v2v3) to prevent workflows pinned to @v2 from automatically picking up the incompatible change.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@action.yml` around lines 35 - 37, Document the breaking change introduced by
changing runs.using to node24: add a "Requirements" or "Breaking Changes"
section in README.md that explicitly lists the minimum self-hosted runner
version (v2.327.1+), macOS requirement (13.5/Ventura+), ARM32 behavior (falls
back to Node 20 with warning), GitHub-hosted support details (no ARM32), and the
deprecation timeline (Node 20 default deprecation on June 2, 2026); also update
release notes and coordinate publishing this release as a new major version
(e.g., v3) so consumers pinned to `@v2` are not upgraded automatically.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
".": "./dist/index.js"
},
"engines": {
"node": ">=20"
"node": ">=24"
},
"scripts": {
"bundle": "npm run format:write && npm run package",
Expand Down