Skip to content

Merge pull request #9 from snypelife/cicd #10

Merge pull request #9 from snypelife/cicd

Merge pull request #9 from snypelife/cicd #10

Workflow file for this run

# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Pull Request
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.x, 22.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
env:
MOCHA_REPORTER: mocha-ctrf-json-reporter
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'
- run: npm ci
- run: npm run build --if-present
- run: |
FORCE_COLOR=true npm test -- \
--reporter ./mocha-ctrf-spec-reporter.js \
--reporter-option outputFile=ctrf-report-node-${{ matrix.node-version }}.json
- uses: actions/upload-artifact@v4
with:
name: ctrf-report-node-${{ matrix.node-version }}
path: ctrf/*.json
test-results:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: ctrf-report-node-20.x
- name: Run CTRF annotations
run: npx --yes github-actions-ctrf summary ctrf-report-node-20.x.json
if: always()
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'npm'
- run: npm ci
- run: npm run lint