diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5cef505 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,50 @@ +# +# ci.yml +# +# Run tests for all pushed commits and opened pull requests on Github. +# + +name: CI +on: [push, pull_request] +jobs: + build: + name: Build + runs-on: ubuntu-latest + timeout-minutes: 10 + strategy: + matrix: + node-version: [18.x, 20.x] + steps: + - name: Clean global cache + run: npm cache clean --force + - name: Set up Node + uses: actions/checkout@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - name: Install dependencies + run: npm install + - name: CI build & test + run: | + npm run build --if-present + npm run coverage + env: + CI: true + - name: Coveralls GitHub Action + uses: coverallsapp/github-action@v2.2.3 + with: + COVERALLS_REPO_TOKEN: ${{ secrets.ORG_ACTION_TOKEN }} + flag-name: node-${{ matrix.node-version }} + parallel: true + coveralls-finish: + name: Coveralls Webhook + needs: build + if: needs.build.result == 'success' + runs-on: ubuntu-latest + steps: + - name: Coveralls Finished + uses: coverallsapp/github-action@v2.2.3 + with: + COVERALLS_REPO_TOKEN: ${{ secrets.ORG_ACTION_TOKEN }} + parallel-finished: true +