Skip to content

ci: tests refactor #946

ci: tests refactor

ci: tests refactor #946

Workflow file for this run

name: MQTT.js Tests
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Debug Filter'
required: true
default: 'mqttjs*'
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install Dependencies
run: npm ci
- name: Lint
if: matrix.node-version == '20.x'
# only run on latest node version, no reason to run on all
run: |
npm run lint
- name: Test NodeJS
run: npm run test:node
timeout-minutes: 5
env:
CI: true
DEBUG: "${{ runner.debug == '1' && 'mqttjs:*' || '' }}"
# upload coverage to Codecov
# https://app.codecov.io/gh/mqttjs/MQTT.js
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
directory: ./coverage/
fail_ci_if_error: true
flags: unittests
name: codecov-mqttjs
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
files: ./junit.xml
fail_ci_if_error: false
flags: unittests-results
name: codecov-mqttjs-test-results
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true