Skip to content

Node CI

Node CI #757

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: [ "master" ]
pull_request:
workflow_dispatch:
schedule:
- # test every sunday, if the setup still works
cron: '20 4 * * SUN'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
## 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/
- "20" # Current
- "18" # Active LTS
- "16"
- "14"
steps:
- name: Checkout
# see https://github.com/actions/checkout
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
# see https://github.com/actions/setup-node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-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/
- "20" # Current
- "18" # Active LTS
- "16"
- "14"
steps:
- name: Checkout
## see https://github.com/actions/checkout
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
# see https://github.com/actions/setup-node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: install project
run: >
yarn install
--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/
- "20" # Current
- "18" # Active LTS
- "16"
pnpm-version: [ "latest" ]
include:
- 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@v4
- name: Setup Node.js ${{ matrix.node-version }}
# see https://github.com/actions/setup-node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: setup pnpm
## see https://github.com/pnpm/action-setup
uses: pnpm/action-setup@v2.4.0
with:
version: ${{ matrix.pnpm-version }}
- name: install project
run: >
pnpm install
--no-lockfile
--verbose
# proven: the package can be installed. that's enough for a meta-package