testing import in grnstate-test.js #69
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
# 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, 20.x, 22.x] | |
steps: | |
- 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 |