mirror of
https://github.com/google/blockly.git
synced 2026-01-09 01:50:11 +01:00
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.
86 lines
1.8 KiB
YAML
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
|