Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#1148 include test coverage in actions #1170

Open
wants to merge 15 commits into
base: beta
Choose a base branch
from
66 changes: 46 additions & 20 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,60 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

on: [push]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x]
node-version: [18.x, 20.x, 22.x]

steps:
- uses: actions/checkout@v4
# install system dependencies needed by the 'canvas' package
- name: Install dependencies for canvas
run: |
sudo apt-get update
sudo apt-get install -y libcairo2-dev libpango1.0-dev libjpeg62 libgif-dev librsvg2-dev
- 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: npm test


- name: Checkout repository
uses: actions/checkout@v4

# Install system dependencies needed by 'canvas'
- name: Install dependencies for canvas
run: |
sudo apt-get update
sudo apt-get install -y libcairo2-dev libpango1.0-dev libjpeg62 libgif-dev librsvg2-dev

- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

# Install dependencies using npm ci
- name: Install dependencies
run: npm ci

# Run ESLint (ensure eslint.config.js exists)
- name: Run Linter
run: npm run lint
continue-on-error: true # Linter failures won't stop the pipeline

# Run the build step if it exists
- name: Run Build
run: npm run build --if-present

# Run Tests and Generate Coverage Report
- name: Run Tests with Coverage
run: npm run coverage

# Debug: Verify that LCOV coverage file exists
- name: Check Coverage File
run: |
echo "Checking if LCOV file exists..."
ls -lh ./coverage/
cat ./coverage/lcov.info | head -n 20

# Upload coverage to Coveralls
- name: Upload Coverage to Coveralls
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./coverage/lcov.info
Loading
Loading