Skip to content

chore(deps): update node.js to v20.18.1 #2933

chore(deps): update node.js to v20.18.1

chore(deps): update node.js to v20.18.1 #2933

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# https://stackoverflow.com/a/72408109/3443137
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
base:
# The type of runner that the job will run on
runs-on: ubuntu-22.04
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4.0.3
with:
node-version-file: ".nvmrc"
# https://docs.github.com/en/free-pro-team@latest/actions/guides/caching-dependencies-to-speed-up-workflows
- name: Reuse npm cache folder
uses: actions/cache@v3
env:
cache-name: cache-node-modules
with:
# reuse the npm-cache and some node_modules folders
path: |
~/.npm
./node_modules
./test-electron/node_modules
# invalidate cache when any package.json changes
key: ${{ runner.os }}-npm-x3-${{ env.cache-name }}-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-npm-x3-${{ env.cache-name }}-
${{ runner.os }}-npm-x3-
${{ runner.os }}-
# install
- name: install node modules
run: npm install --legacy-peer-deps
- name: build
run: npm run build
- name: check build size webpack
run: npm run size:webpack
- name: check build size browserify
run: npm run size:browserify
- name: check build size rollup
run: npm run size:rollup
- name: code format
run: npm run lint
- name: test typings
run: npm run test:typings
- name: test modules
run: npm run test:modules
- name: test browser
uses: GabrielBB/xvfb-action@v1
with:
working-directory: ./ #optional
run: npm run test:browser
- name: test performance
run: npm run test:performance
- name: test e2e
uses: GabrielBB/xvfb-action@v1
with:
working-directory: ./ #optional
run: npm run test:e2e
# run the node test in an own task, so we can use a node-version matrix.
test-node:
runs-on: ubuntu-22.04
strategy:
matrix:
node: ['18.18.2', '20.9.0']
steps:
- uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ matrix.node }}
# https://docs.github.com/en/free-pro-team@latest/actions/guides/caching-dependencies-to-speed-up-workflows
- name: Reuse npm cache folder
uses: actions/cache@v3
env:
cache-name: cache-node-modules
with:
path: |
~/.npm
./node_modules
./test-electron/node_modules
# invalidate cache when any package.json changes
key: ${{ runner.os }}-npm-test-node-x3-${{ matrix.node }}-${{ env.cache-name }}-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-npm-test-node-x3-${{ matrix.node }}-${{ env.cache-name }}-
${{ runner.os }}-npm-test-node
${{ runner.os }}-test-node
- name: install node modules
run: npm install --legacy-peer-deps
- name: build
run: npm run build
- name: test node
run: npm run test:node
test-deno:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4.0.3
with:
node-version-file: ".nvmrc"
# https://docs.github.com/en/free-pro-team@latest/actions/guides/caching-dependencies-to-speed-up-workflows
- name: Reuse npm cache folder
uses: actions/cache@v3
env:
cache-name: cache-node-deno-modules
with:
path: |
~/.npm
./node_modules
./test-electron/node_modules
# invalidate cache when any package.json changes
key: ${{ runner.os }}-npm-test-deno-x3-${{ env.cache-name }}-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-npm-test-deno-x3-${{ env.cache-name }}-
${{ runner.os }}-npm-test-deno
${{ runner.os }}-test-deno
- name: install node modules
run: npm install --legacy-peer-deps
- name: build
run: npm run build
- name: Reuse deno cache folder
uses: actions/cache@v3
env:
cache-name: cache-deno-modules
with:
path: |
/home/runner/.cache/deno
# do not cache based on package.json because deno install randomly fails
# and it would then never succeed on the first run on dependency updateds
key: ${{ runner.os }}-deno-x3-
- uses: denoland/setup-deno@v1
with:
# https://github.com/denoland/deno/releases
deno-version: "1.37.2"
- name: run deno tests
run: |
sudo npm i -g cross-env
deno info
npm run test:deno
# TODO this does not work atm. fix this.
# - name: test electron
# uses: GabrielBB/xvfb-action@v1
# with:
# working-directory: ./test-electron
# run: npm install --depth 0 --silent && npm run test