Browse Source

feat(testing): Trial CI playwright setup added

pull/3848/head
Muhammed Mustafa 2 years ago
parent
commit
5801da5fe3
  1. 718
      .github/workflows/ci-cd.yml
  2. 1
      packages/nocodb/package.json
  3. 29
      scripts/playwright/playwright.config.ts

718
.github/workflows/ci-cd.yml

@ -25,7 +25,723 @@ concurrency:
cancel-in-progress: true
jobs:
cypress-restTableOps-run-cache:
# cypress-restTableOps-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/restTableOps.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-restTableOps-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-restViews-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/restViews.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-restViews-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-restRoles-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/restRoles.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-restRoles-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-restMisc-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/restMisc.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-restMisc-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-xcdb-restTableOps-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:xcdb-api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/xcdb-restTableOps.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-xcdb-restTableOps-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-xcdb-restViews-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:xcdb-api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/xcdb-restViews.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-xcdb-restViews-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-xcdb-restRoles-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:xcdb-api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/xcdb-restRoles.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-xcdb-restRoles-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-xcdb-restMisc-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:xcdb-api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/xcdb-restMisc.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-xcdb-restMisc-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-pg-restTableOps-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d
# spec: "./scripts/cypress/integration/test/pg-restTableOps.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-pg-restTableOps-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-pg-restViews-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d
# spec: "./scripts/cypress/integration/test/pg-restViews.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-pg-restViews-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-pg-restRoles-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d
# spec: "./scripts/cypress/integration/test/pg-restRoles.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-pg-restRoles-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cypress-pg-restMisc-run-cache:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d
# spec: "./scripts/cypress/integration/test/pg-restMisc.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-pg-restMisc-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cy-quick-sqlite:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# cp ./scripts/cypress/fixtures/quickTest/noco_0_91_7.db ./packages/nocodb/noco.db
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/quickTest.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cy-quick-sqlite-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# cy-quick-pg:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# docker-compose -f ./scripts/cypress/docker-compose-pg-cy-quick.yml up -d
# npm run start:api:cache:pg:cyquick
# npm run start:web
# spec: "./scripts/cypress/integration/test/quickTest.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cy-quick-pg-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
# unit-tests:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: install dependencies nocodb-sdk
# working-directory: ./packages/nocodb-sdk
# run: npm install
# - name: build nocodb-sdk
# working-directory: ./packages/nocodb-sdk
# run: npm run build:main
# - name: Install dependencies
# working-directory: ./packages/nocodb
# run: npm install
# - name: setup mysql
# working-directory: ./
# run: docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# - name: run unit tests
# working-directory: ./packages/nocodb
# run: npm run test:unit
# cypress-db-independent:
# runs-on: ubuntu-20.04
# if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
# steps:
# - name: Setup Node
# uses: actions/setup-node@v1
# with:
# node-version: 16.15.0
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# - name: Cache node modules
# uses: actions/cache@v2
# env:
# cache-name: cache-node-modules
# with:
# # npm cache files are stored in `~/.npm` on Linux/macOS
# path: ~/.npm
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-build-${{ env.cache-name }}-
# ${{ runner.os }}-build-
# ${{ runner.os }}-
# - name: Set env
# run: echo "NODE_ENV=test" >> $GITHUB_ENV
# - name: Cypress run
# uses: cypress-io/github-action@v2
# with:
# start: |
# npm run start:api:cache
# npm run start:web
# docker-compose -f ./scripts/docker-compose-cypress.yml up -d
# spec: "./scripts/cypress/integration/test/db-independent.js"
# wait-on: "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
# wait-on-timeout: 1200
# config-file: scripts/cypress/cypress.json
# - name: Upload screenshots
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: cypress-restMisc-run-cache-snapshots
# path: scripts/cypress/screenshots
# retention-days: 2
playwright:
runs-on: ubuntu-20.04
timeout-minutes: 30
if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}

1
packages/nocodb/package.json

@ -36,6 +36,7 @@
"docker:build": "EE=\"true-xc-test\" webpack --config docker/webpack.config.js",
"watch:build": "nodemon -e ts,js -w ./src -x npm run build",
"watch:run": "cross-env NC_DISABLE_TELE1=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/docker --log-error --project tsconfig.json\"",
"watch:run:playwright": "cross-env TEST=true NC_DISABLE_TELE=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/docker --log-error --project tsconfig.json\"",
"watch:run:cypress": "cross-env EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/docker --log-error --project tsconfig.json\"",
"watch:run:cypress:pg": "cross-env EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/dockerRunPG --log-error --project tsconfig.json\"",
"watch:run:cypress:pg:cyquick": "cross-env EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/dockerRunPG_CyQuick.ts --log-error --project tsconfig.json\"",

29
scripts/playwright/playwright.config.ts

@ -22,7 +22,7 @@ const config: PlaywrightTestConfig = {
timeout: 5000
},
/* Run tests in files in parallel */
fullyParallel: true,
fullyParallel: false,
/* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!process.env.CI,
/* Retry on CI only */
@ -40,6 +40,7 @@ const config: PlaywrightTestConfig = {
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: 'on-first-retry',
screenshot: 'only-on-failure',
},
/* Configure projects for major browsers */
@ -51,19 +52,19 @@ const config: PlaywrightTestConfig = {
},
},
{
name: 'firefox',
use: {
...devices['Desktop Firefox'],
},
},
// {
// name: 'firefox',
// use: {
// ...devices['Desktop Firefox'],
// },
// },
{
name: 'webkit',
use: {
...devices['Desktop Safari'],
},
},
// {
// name: 'webkit',
// use: {
// ...devices['Desktop Safari'],
// },
// },
/* Test against mobile viewports. */
// {
@ -95,7 +96,7 @@ const config: PlaywrightTestConfig = {
],
/* Folder for test artifacts such as screenshots, videos, traces, etc. */
// outputDir: 'test-results/',
outputDir: './test-results/',
/* Run your local dev server before starting the tests */
// webServer: {

Loading…
Cancel
Save