ci: enable coverage; delete irrelevant jobs for faster feedback #1229
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 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 | |
# | |
# See supported Node.js release schedule at | |
# https://nodejs.org/en/about/releases/ | |
name: PouchDB CI | |
on: | |
push: {} | |
pull_request: | |
branches: [master] | |
env: | |
NODE_VERSION: 14 | |
TEST_HOST: localhost | |
jobs: | |
# Check style compliance of JavaScript code. | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- uses: ./.github/actions/install-node-package | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- run: npm run eslint | |
# Check shell scripts. | |
shellcheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- run: sudo apt-get install shellcheck | |
- run: git ls-files '*.sh' | xargs shellcheck | |
nodejs: | |
needs: lint | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [14, 16] | |
cmd: | |
- SERVER=pouchdb-server POUCHDB_SERVER_FLAGS=--in-memory PLUGINS=pouchdb-find npm run report-coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- uses: ./.github/actions/install-node-package | |
with: | |
node-version: ${{ matrix.node }} | |
- uses: ./.github/actions/build-pouchdb | |
- id: test | |
run: ${{ matrix.cmd }} | |
continue-on-error: true | |
- name: First retry | |
id: retry | |
if: steps.test.outcome == 'failure' | |
run: git reset --hard && ${{ matrix.cmd }} | |
continue-on-error: true | |
- name: Second retry | |
if: steps.retry.outcome == 'failure' | |
run: git reset --hard && ${{ matrix.cmd }} |