Skip to content

ci: enable coverage; delete irrelevant jobs for faster feedback #1229

ci: enable coverage; delete irrelevant jobs for faster feedback

ci: enable coverage; delete irrelevant jobs for faster feedback #1229

Workflow file for this run

# 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 }}