Package lock test #896
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Default CI Pipeline | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
workflow_dispatch: | |
# https://docs.github.com/en/actions/learn-github-actions/variables | |
env: | |
HUSKY: 0 | |
jobs: | |
setup-and-test: | |
name: Tests (${{ matrix.os }}, Node ${{ matrix.node-version }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
node-version: [18.x, 20.x, 22.x] | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Use Node.js ${{ matrix.os }} ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
# workaround for issue #1154 | |
- name: Install setuptools on MacOs | |
if: matrix.os == 'macos-latest' | |
run: | | |
sudo -H pip install setuptools | |
- name: Install | |
run: npm ci | |
- name: Build | |
run: npm run build | |
# workaround for issue #1138 | |
- name: Add missing hostname to /etc/hosts | |
if: matrix.os == 'macos-latest' | |
run: | | |
sudo echo "127.0.0.1" `hostname` | sudo tee -a /etc/hosts | |
# Enables the output of log messages from the Node.js debug module | |
# for workflow runs that are being retried with "debug logging" | |
# enabled. | |
# | |
# See https://github.com/eclipse-thingweb/node-wot/pull/1204 for | |
# more context regarding the rationale of this step. | |
- name: Configure debug logging | |
if: runner.debug == '1' | |
run: echo "DEBUG=node-wot*" >> $GITHUB_ENV | |
shell: bash | |
- name: Test with coverage report | |
timeout-minutes: 10 | |
run: npm run coverage:only | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v2 | |
eslint: | |
name: eslint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18 | |
- name: Install | |
run: npm ci | |
- name: Lint | |
run: npm run lint | |
version_consistency: | |
name: Check version consistency of packages | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: install node v18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18 | |
- name: verify packages version consistency accross sub-modules | |
run: npm run check:versions | |
prettier: | |
name: Check coding style | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actionsx/prettier@v2 | |
with: | |
args: --check . |