Skip to content

Commit

Permalink
ci: enable coverage; delete irrelevant jobs for faster feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
alxndrsn committed Apr 29, 2024
1 parent f4bfb5f commit d6a1aa5
Showing 1 changed file with 1 addition and 223 deletions.
224 changes: 1 addition & 223 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,236 +43,14 @@ jobs:
- run: sudo apt-get install shellcheck
- run: git ls-files '*.sh' | xargs shellcheck

# Run the integration, find and mapreduce tests against CouchDB on Node.js.
# This should be run against every version of CouchDB and every version of
# Node.js we support.

couchdb-nodejs:
needs: lint
strategy:
fail-fast: false
matrix:
couchdb: ['2.3', '3.1']
node: [14, 16]
cmd:
- npm test
- TYPE=find PLUGINS=pouchdb-find ADAPTERS=http npm test
- TYPE=mapreduce ADAPTERS=http npm test
runs-on: ubuntu-latest
env:
CLIENT: node
SERVER: couchdb-master
COUCH_HOST: http://admin:[email protected]:5984
SKIP_MIGRATION: 1
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: ./.github/actions/install-node-package
with:
node-version: ${{ matrix.node }}
- uses: ./.github/actions/install-couchdb
with:
couchdb-version: ${{ matrix.couchdb }}
- 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: ${{ matrix.cmd }}
continue-on-error: true
- name: Second retry
if: steps.retry.outcome == 'failure'
run: ${{ matrix.cmd }}

# Run the integration, find and mapreduce tests against CouchDB in the
# browser. This should be run against every version of CouchDB we support and
# every target browser.

couchdb-browser:
needs: lint
strategy:
fail-fast: false
matrix:
couchdb: ['2.3','3.1']
client: ['firefox', 'chromium', 'webkit']
cmd:
- npm test
- TYPE=find PLUGINS=pouchdb-find ADAPTERS=http npm test
- TYPE=mapreduce ADAPTERS=http npm test
runs-on: ubuntu-latest
env:
USE_MINIFIED: 1
CLIENT: ${{ matrix.client }}
SERVER: couchdb-master
COUCH_HOST: http://admin:[email protected]:5984
SKIP_MIGRATION: 1
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: ./.github/actions/install-node-package
with:
node-version: ${{ env.NODE_VERSION }}
- uses: ./.github/actions/install-playwright
- uses: ./.github/actions/install-couchdb
with:
couchdb-version: ${{ matrix.couchdb }}
- 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: ${{ matrix.cmd }}
continue-on-error: true
- name: Second retry
if: steps.retry.outcome == 'failure'
run: ${{ matrix.cmd }}

# Run the integration, find and mapreduce tests against all the Node.js
# PouchDB adapters. This should be run for every adapter on every version of
# Node.js we support.

nodejs-adapter:
needs: lint
strategy:
fail-fast: false
matrix:
node: [14, 16]
adapter: ['leveldb', 'memory']
cmd:
- npm test
- TYPE=find PLUGINS=pouchdb-find npm test
- TYPE=mapreduce npm test
runs-on: ubuntu-latest
env:
CLIENT: node
ADAPTERS: ${{ matrix.adapter }}
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: ${{ matrix.cmd }}
continue-on-error: true
- name: Second retry
if: steps.retry.outcome == 'failure'
run: ${{ matrix.cmd }}

# Run the integration, find and mapreduce tests against all the browser-based
# adapters. PouchDB adapters. This should be run for every adapter on every
# target browser.

browser-adapter:
needs: lint
strategy:
fail-fast: false
matrix:
client: ['firefox', 'chromium', 'webkit']
adapter: ['idb', 'indexeddb', 'memory']
cmd:
- npm test
- TYPE=find PLUGINS=pouchdb-find npm test
- TYPE=mapreduce npm test
runs-on: ubuntu-latest
env:
USE_MINIFIED: 1
CLIENT: ${{ matrix.client }}
ADAPTERS: ${{ matrix.adapter }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: ./.github/actions/install-node-package
with:
node-version: ${{ env.NODE_VERSION }}
- uses: ./.github/actions/install-playwright
- 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: ${{ matrix.cmd }}
continue-on-error: true
- name: Second retry
if: steps.retry.outcome == 'failure'
run: ${{ matrix.cmd }}

# Run the integration, find and mapreduce tests using pouchdb-server as the
# remote adapter. This checks that pouchdb-server works with the current
# PouchDB source tree. We run this on Node.js and on every target browser.
# Running against different versions of Node.js might require splitting this
# out into a distinct job.

pouchdb-server:
needs: lint
strategy:
fail-fast: false
matrix:
client: ['node', 'firefox', 'chromium', 'webkit']
cmd:
- npm test
- TYPE=find PLUGINS=pouchdb-find ADAPTERS=http npm test
- TYPE=mapreduce ADAPTERS=http npm test
runs-on: ubuntu-latest
env:
CLIENT: ${{ matrix.client }}
SERVER: pouchdb-server
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: ./.github/actions/install-node-package
with:
node-version: ${{ env.NODE_VERSION }}
- if: ${{ matrix.client != 'node' }}
uses: ./.github/actions/install-playwright
- 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: ${{ matrix.cmd }}
continue-on-error: true
- name: Second retry
if: steps.retry.outcome == 'failure'
run: ${{ matrix.cmd }}

# Run all the other testing tasks -- unit tests, and so on. These should be
# run on every version of Node.js that we support.

nodejs:
needs: lint
strategy:
fail-fast: false
matrix:
node: [14, 16]
cmd:
- CLIENT=firefox npm run test-webpack
- AUTO_COMPACTION=true npm test
- PERF=1 npm test
- npm run test-unit
- npm run test-component
- npm run test-fuzzy
# - SERVER=pouchdb-server POUCHDB_SERVER_FLAGS=--in-memory PLUGINS=pouchdb-find npm run report-coverage
- npm run verify-build
- SERVER=pouchdb-server POUCHDB_SERVER_FLAGS=--in-memory PLUGINS=pouchdb-find npm run report-coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down

0 comments on commit d6a1aa5

Please sign in to comment.