Skip to content

v1.9.5

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Jun 05:45

πŸ€” Why this release

GitHub Actions runs every action using a copy of Node.js. It used to use Node.js 20. It is now moving to Node.js 24, and every action has to move with it. You have probably seen a warning about this in your build logs. This release makes the move, so the warning stops once you update.

There is a catch. Some old Linux containers are used to test old compilers, like GCC 6 and older or Clang 5 and older. These containers come with a system library that is too old to run Node.js 24, and no Node.js 24 build works on them yet. So for now, you cannot test those old compilers. Newer ones still work: GCC 9 and up, and Clang 12 and up. This is paused, not removed. If a Node.js 24 build for old systems shows up later, you can switch it back on with one setting.

This release also makes two smaller fixes:

  • It updates the actions this project uses, like checkout, to versions that run on Node.js 24. That is what stops the warnings.
  • It uses exact runner names instead of the -latest labels, which kept changing and breaking builds. It also fixes a Windows build that broke when GitHub moved its windows-2025 image to Visual Studio 2026.

If you test modern compilers, update and the warnings go away. If you need GCC 6, Clang 5, or older inside containers, wait until Node.js 24 runs on old systems.

πŸš€ Features

New features and additions

  • ✨ Require Node 24 runtime and drop unsupported old platforms.1 a44d99e

πŸ› Fixes

Bug fixes and error corrections

  • esbuild: Define import.meta.url for CJS action bundles.2 456b4c6
  • cpp-matrix: Ninja generator for MSVC on windows-2025 (VS 2026).3 3fe52cb

πŸ—οΈ Chores

Routine tasks, maintenance, and housekeeping

  • Node 24-compatible CI actions and pinned runner images.4 5523fd2
  • Bump version to 1.9.5. a06d7ad
  • Update dependencies for v1.9.5. 6eda632

Parent release: v1.9.4 9bf3fbb

  1. All JS actions now run on Node 24. No working glibc-217 Node 24 build exists yet(nodejs/unofficial-builds#190 has not shipped one, and the Boost mirror buildcrashes silently on heavy child_process operations on kernels older than 5.3),so Node 24 patching in container-bootstrap is opt-in via a node24-url input (offby default) and the CI matrix floor is raised to gcc>=9 / clang>11 β€” GCC<=6 /Clang<=5 require a glibc too old for Node 24. The hook is ready to re-enable oldplatforms the day a known-good build can be supplied via node24-url. ↩

  2. The dependency update pulled in a newer @azure/storage-common (via @actions/cache)whose ESM build calls createRequire(import.meta.url). Bundled to CJS, import.meta.urlis undefined and throws at load time, breaking every action that bundles @actions/cache(matrix generation, package-install, etc.). Add an esbuild banner + define that mapsimport.meta.url to the bundle's own file URL. Regenerated all action bundles. ↩

  3. The windows-2025 runner images now ship Visual Studio 2026, so the inferred"Visual Studio 17 2022" generator finds no Visual Studio to back it. Use Ninjawith the explicit cl.exe (setup-cpp activates the MSVC arch environment,including x86) for any windows-2025 runner regardless of toolset version, whichis immune to future image VS bumps. The unit tests asserted the VS generator forthe windows-2025 label, which is why they passed while CI failed; updated toexpect Ninja and added the real windows-2025-vs2026 cases. ↩

  4. Bump third-party actions to their Node 24 runtimes (checkout v6, setup-node v6,action-gh-release v3, codecov-action v7) to clear the Node 20 deprecationwarnings. Pin runner images off the moving -latest labels (ubuntu-24.04,windows-2025-vs2026, macos-15) and gate the dev-workflow conditionals onmatrix.name so they survive future label changes. ↩