From d6a1aa5b51d89294c4eaad8a81b5a42e69370265 Mon Sep 17 00:00:00 2001 From: alxndrsn Date: Mon, 29 Apr 2024 18:02:08 +0000 Subject: [PATCH] ci: enable coverage; delete irrelevant jobs for faster feedback --- .github/workflows/ci.yml | 224 +-------------------------------------- 1 file changed, 1 insertion(+), 223 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd76d09df9..34deee7f9a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,221 +43,6 @@ 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:password@127.0.0.1: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:password@127.0.0.1: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: @@ -265,14 +50,7 @@ jobs: 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