Files
blockly/.github/workflows/build.yml
Christopher Allen 3d28ca8448 chore: Add node.js v24 to CI build matrix (#9219)
Node.js v24 has now been released, so add it to our build matrix.

Node v18 is no longer in LTS but we want to continue to test on
it until it is removed from package.json engines.
2025-08-27 19:18:20 +01:00

86 lines
1.8 KiB
YAML

# This workflow will do a clean install, start the selenium server, and run
# all of our tests.
name: Node.js CI
on: [pull_request]
permissions:
contents: read
jobs:
build:
timeout-minutes: 10
runs-on: ${{ matrix.os }}
strategy:
matrix:
# TODO (#2114): re-enable osx build.
# os: [ubuntu-latest, macos-latest]
os: [ubuntu-latest]
node-version: [18.x, 20.x, 22.x, 24.x]
# See supported Node.js release schedule at
# https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- name: Reconfigure git to use HTTP authentication
run: >
git config --global url."https://github.com/".insteadOf
ssh://git@github.com/
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Npm Clean Install
run: npm ci
- name: Linux Test Setup
if: runner.os == 'Linux'
run: source ./tests/scripts/setup_linux_env.sh
- name: Run
run: npm run test
env:
CI: true
lint:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Npm Install
run: npm install
- name: Lint
run: npm run lint
format:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
- name: Npm Install
run: npm install
- name: Check Format
run: npm run format:check