Skip to content

chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0 #1549

chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0

chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0 #1549

Workflow file for this run

# For details of what checks are run for PRs please refer below
# docs: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Node CI
on:
push:
branches: [ "main", "master", "next" ]
tags: [ "v*" ]
pull_request:
workflow_dispatch:
schedule:
- # dependencies are intended to be not pinned
# test every night, if the setup still works
cron: '42 23 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
env:
# https://nodejs.dev/en/about/releases/
NODE_ACTIVE_LTS: "24"
## As this project is a meta-package, there are no functionalities nor tests.
## So the only responsibility that must be assured is: this project can be installed under all circumstances.
jobs:
test-npm-install:
name: NPM install (node${{ matrix.node-version }}, ${{ matrix.os }})
timeout-minutes: 5
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
node-version:
# action based on https://github.com/actions/node-versions/releases
# see also: https://nodejs.org/en/about/releases/
- "26" # Current
- "24" # Active LTS
- "22"
- "20"
- "18"
- "16"
- "14"
exclude:
- os: macos-latest # macos-latest has issues with node14
node-version: "14"
steps:
- name: Checkout
# see https://github.com/actions/checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Setup Node.js ${{ matrix.node-version }}
# see https://github.com/actions/setup-node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: ${{ matrix.node-version }}
package-manager-cache: false # must not usecaches. we want the latest, always
- name: bump npm
shell: bash
env:
NODE_VERSION: '${{ matrix.node-version }}'
run: |
set -eux
case "$NODE_VERSION" in
'26' )
npm install -g npm@latest
;;
'24')
npm i -g npm@^11
;;
'20' | '20.18.0')
npm i -g npm@^10
;;
esac
npm --version
- name: install project
run: >
npm install
--no-audit
--no-package-lock
--verbose
# proven: the package can be installed. that's enough for a meta-package
test-yarn-install:
name: YARN install (node${{ matrix.node-version }}, ${{ matrix.os }})
timeout-minutes: 5
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
node-version:
# action based on https://github.com/actions/node-versions/releases
# see also: https://nodejs.org/en/about/releases/
- "26" # Current
- "24" # Active LTS
- "22"
- "20"
- "18"
- "16"
- "14"
exclude:
- os: macos-latest # macos-latest has issues with node14
node-version: "14"
steps:
- name: Checkout
## see https://github.com/actions/checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Setup Node.js ${{ matrix.node-version }}
# see https://github.com/actions/setup-node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: ${{ matrix.node-version }}
package-manager-cache: false # must not usecaches. we want the latest, always
- name: Setup Yarn
shell: bash
run: |
set -eux
npm uninstall -g yarn
corepack enable yarn
case "$NODE_VERSION" in
'14' | '16')
corepack prepare --activate yarn@3.8.7
;;
'18')
corepack prepare --activate yarn@4.0.0
;;
*)
corepack install --global yarn@stable
;;
esac
yarn --version
env:
NODE_VERSION: ${{ matrix.node-version }}
working-directory: .. # prevent evaluation of package.json
- name: install project
shell: bash
run: |
set -eux
YARN_VERSION=$(yarn --version)
YARN_MAJOR=${YARN_VERSION%%.*}
if [ "$YARN_MAJOR" -ge 4 ]; then
export YARN_ENABLE_HARDENED_MODE=0
fi
yarn install \
--no-immutable \
--inline-builds
# proven: the package can be installed. that's enough for a meta-package
test-pnpm-install:
name: PNPM install (node${{ matrix.node-version }}, ${{ matrix.os }})
timeout-minutes: 5
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
node-version:
# action based on https://github.com/actions/node-versions/releases
# see also: https://nodejs.org/en/about/releases/
- "26" # Current
- "24" # Active LTS
- "22"
pnpm-version: [ "latest" ]
include:
- os: "ubuntu-latest"
node-version: "20"
pnpm-version: "latest-10" # see https://github.com/pnpm/pnpm/issues/11546#issuecomment-4407057536
- os: "ubuntu-latest"
node-version: "18"
pnpm-version: "latest-9" # see https://github.com/pnpm/pnpm/issues/11546#issuecomment-4407057536
- os: "ubuntu-latest"
node-version: "16"
pnpm-version: "latest-8" # see https://www.npmjs.com/package/pnpm/?activeTab=versions
- os: "ubuntu-latest"
node-version: "14"
pnpm-version: "latest-7" # see https://www.npmjs.com/package/pnpm/?activeTab=versions
steps:
- name: Checkout
# see https://github.com/actions/checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Setup Node.js ${{ matrix.node-version }}
# see https://github.com/actions/setup-node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: ${{ matrix.node-version }}
package-manager-cache: false # must not usecaches. we want the latest, always
- name: Remove PNPM from PATH (Windows)
if: ${{ runner.os == 'Windows' }}
shell: pwsh
run: |
Set-PSDebug -Trace 1
# find pnpm
Get-Alias pnpm -ErrorAction SilentlyContinue
Get-ChildItem Function:\pnpm -ErrorAction SilentlyContinue
Get-Command pnpm -ErrorAction SilentlyContinue
# remove pnpm
Remove-Item Alias:\pnpm -Verbose -ErrorAction SilentlyContinue
Remove-Item Function:\pnpm -Verbose -ErrorAction SilentlyContinue
Remove-Item "C:\npm\prefix\pnpm*" -Verbose -Force -ErrorAction SilentlyContinue
# verify
Get-Alias pnpm -ErrorAction SilentlyContinue
Get-ChildItem Function:\pnpm -ErrorAction SilentlyContinue
Get-Command pnpm -ErrorAction SilentlyContinue
- name: setup pnpm
## see https://github.com/pnpm/action-setup
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
with:
version: ${{ matrix.pnpm-version }}
- name: test pnpm
run: pnpm --version
- name: install project
run: >
pnpm install
--no-lockfile
--verbose
# proven: the package can be installed. that's enough for a meta-package