anephenix/hub

View on GitHub
.github/workflows/node.js.yml

Summary

Maintainability
Test Coverage
# 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: Node.js CI

on:
    push:
        branches: [master]
    pull_request:
        branches: [master]

jobs:
    build:
        runs-on: ubuntu-latest
        env:
            NODE_ENV: test
            NODE_OPTIONS: '--trace-warnings --trace-deprecation'
            CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
            CI: true

        strategy:
            matrix:
                node-version: [18.x, 20.x]
                # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

        steps:
            - name: Set up Redis
              uses: zhulik/redis-action@1.1.0
            - uses: actions/checkout@v2
            - name: Use Node.js ${{ matrix.node-version }}
              uses: actions/setup-node@v2
              with:
                  node-version: ${{ matrix.node-version }}
                  cache: 'npm'
            #- run: apt install libnss3-tools
            - run: curl -sSL -o ./mkcert -O https://github.com/FiloSottile/mkcert/releases/download/v1.4.1/mkcert-v1.4.1-linux-amd64 && chmod +x ./mkcert
            - run: ./mkcert -install
            - run: npm i
            - run: npm run lint
            - run: mkdir -p certs && cd certs && ../mkcert localhost 127.0.0.1 ::1
            - run: curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
            - run: chmod +x ./cc-test-reporter
            - run: ./cc-test-reporter before-build
            - run: npm run build-cucumber-support-files
            - run: npm run cover
              if: github.event_name != 'pull_request'
            - run: ./cc-test-reporter after-build
              if: github.event_name != 'pull_request'
            # - run: npm run cucumber
            - run: node --max-old-space-size=4096 ./node_modules/.bin/cucumber-js --no-strict --exit