Files
blockly/.github/workflows/build.yml
Christopher Allen 65f64110a8 chore(tests): Update configuration to test on node.js v20 (#6995)
* chores(deps): Update eslint-plugin-jsdoc to 43.0.7 to fix issue

  - This resolves npm install error messages reporting incompatibility
    of the previous version (and one of its dependencies) with
    node.js version other than 14, 16, 18, and 19 (i.e. notably
    excluding v20).

  - It also pulls in a fix to a bug in 43.0.6 which caused the
    jsdoc/tag-lines startLines option (which replaces the former
    jsdoc/newline-after-description rule) to incorrectly error
    when linting single-line JSDocs containing tags.

  - Update .eslintrc.js appropriately to use the new rule.

* chore(tests): Add node.js v20 to CI test matrix

* chore(tests): Update lint job to also use node.js v20
2023-04-20 17:56:29 +01:00

88 lines
1.9 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: [14.x, 16.x, 18.x, 20.x]
# See supported Node.js release schedule at
# https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v3
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@v3
with:
node-version: ${{ matrix.node-version }}
- name: Npm Install
run: npm install
- name: Linux Test Setup
if: runner.os == 'Linux'
run: source ./tests/scripts/setup_linux_env.sh
- name: MacOS Test Setup
if: runner.os == 'macOS'
run: source ./tests/scripts/setup_osx_env.sh
- name: Run
run: npm run test
env:
CI: true
lint:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 20.x
uses: actions/setup-node@v3
with:
node-version: 20.x
- name: Npm Install
run: npm install
- name: Lint
run: npm run lint
clang-formatter:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: DoozyX/clang-format-lint-action@v0.15
with:
source: 'core'
extensions: 'js,ts'
# This should be as close as possible to the version that the npm
# package supports. This can be found by running:
# npx clang-format --version.
clangFormatVersion: 15