From 72b596ac959cdd96be1439ae2810e5e5cb28e10f Mon Sep 17 00:00:00 2001 From: Muhammed Mustafa Date: Thu, 3 Nov 2022 21:24:45 +0530 Subject: [PATCH] feat(testing): Enabled all the CI test, enabled all the playwright test and minor cleanup --- .github/workflows/ci-cd.yml | 2828 ++++++++--------- scripts/playwright/playwright.config.ts | 3 +- .../scripts/docker-compose-playwright.yml | 55 +- .../tests/columnSingleSelect.spec.ts | 2 +- 4 files changed, 1417 insertions(+), 1471 deletions(-) diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 5c291e1e2e..3246317522 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -25,1030 +25,709 @@ concurrency: cancel-in-progress: true jobs: - # cypress-restTableOps-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # with: - # name: cypress-restTableOps-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-restViews-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # with: - # name: cypress-restViews-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-restRoles-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # with: - # name: cypress-restRoles-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-restMisc-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # with: - # name: cypress-restMisc-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-xcdb-restTableOps-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # env: - # cache-name: cache-node-modules + cypress-restTableOps-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cypress-restTableOps-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-restViews-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cypress-restViews-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-restRoles-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cypress-restRoles-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-restMisc-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # with: - # name: cypress-pg-restMisc-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cy-quick-sqlite: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cypress-restMisc-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-xcdb-restTableOps-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # with: - # name: cy-quick-sqlite-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cy-quick-pg: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # with: - # name: cy-quick-pg-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # unit-tests: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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 - # - 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 - # timeout-minutes: 30 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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 - # # 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@v3 - # # with: - # # node-version: 16.15.0 - # # - name: Checkout - # # uses: actions/checkout@v3 - # # with: - # # fetch-depth: 0 - # # - name: Cache node modules - # # uses: actions/cache@v3 - # # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # with: - # start: | - # npm run start:api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # with: - # name: cypress-restTableOps-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-restViews-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # with: - # start: | - # npm run start:api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # with: - # name: cypress-restViews-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-restRoles-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # with: - # start: | - # npm run start:api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # with: - # name: cypress-restRoles-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-restMisc-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cypress-pg-restMisc-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cy-quick-sqlite: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # with: - # start: | - # npm run start:api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # with: - # name: cypress-restMisc-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cypress-xcdb-restTableOps-run-cache: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cy-quick-sqlite-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cy-quick-pg: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # with: - # start: | - # npm run start:xcdb-api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cy-quick-pg-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + unit-tests: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # with: - # start: | - # npm run start:xcdb-api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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 + - 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 + timeout-minutes: 30 + 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 @@ -1061,26 +740,25 @@ jobs: # - name: Set env # run: echo "NODE_ENV=test" >> $GITHUB_ENV # - name: Cypress run - # uses: cypress-io/github-action@v4 + # uses: cypress-io/github-action@v2 # with: # start: | - # npm run start:xcdb-api:cache + # npm run start:api:cache # npm run start:web - # docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d - # spec: "./scripts/cypress/integration/test/xcdb-restRoles.js" + # 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@v3 + # uses: actions/upload-artifact@v2 # with: - # name: cypress-xcdb-restRoles-run-cache-snapshots + # name: cypress-restMisc-run-cache-snapshots # path: scripts/cypress/screenshots # retention-days: 2 - # cypress-xcdb-restMisc-run-cache: + # 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 }} # steps: # - name: Setup Node @@ -1096,410 +774,732 @@ jobs: # 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@v4 - # with: - # start: | - # npm run start:xcdb-api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + with: + start: | + npm run start:api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + with: + name: cypress-restTableOps-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-restViews-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + with: + start: | + npm run start:api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + with: + name: cypress-restViews-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-restRoles-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + with: + start: | + npm run start:api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + with: + name: cypress-restRoles-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-restMisc-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + with: + start: | + npm run start:api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + with: + name: cypress-restMisc-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cypress-xcdb-restTableOps-run-cache: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + with: + start: | + npm run start:xcdb-api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + with: + start: | + npm run start:xcdb-api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + with: + start: | + npm run start:xcdb-api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 + with: + start: | + npm run start:xcdb-api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # 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 - # timeout-minutes: 30 - # 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@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + 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 + timeout-minutes: 30 + 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@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # with: - # name: cypress-pg-restMisc-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cy-quick-sqlite: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cypress-pg-restMisc-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cy-quick-sqlite: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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/cypress/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@v3 - # with: - # name: cy-quick-sqlite-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # cy-quick-pg: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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/cypress/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@v3 + with: + name: cy-quick-sqlite-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + cy-quick-pg: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # 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@v3 - # with: - # name: cy-quick-pg-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 - # unit-tests: - # 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 }} - # steps: - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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@v4 + 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@v3 + with: + name: cy-quick-pg-snapshots + path: scripts/cypress/screenshots + retention-days: 2 + unit-tests: + 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 }} + steps: + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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/cypress/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 - # timeout-minutes: 30 - # if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }} - # steps: - # # Reference: https://github.com/pierotofy/set-swap-space/blob/master/action.yml - # - name: Set 5gb swap - # shell: bash - # # Delete the swap file, allocate a new one, and activate it - # run: | - # export SWAP_FILE=$(swapon --show=NAME | tail -n 1) - # sudo swapoff $SWAP_FILE - # sudo rm $SWAP_FILE - # sudo fallocate -l 5G $SWAP_FILE - # sudo chmod 600 $SWAP_FILE - # sudo mkswap $SWAP_FILE - # sudo swapon $SWAP_FILE - # - name: Setup Node - # uses: actions/setup-node@v3 - # with: - # node-version: 16.15.0 - # - name: Checkout - # uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - name: Cache node modules - # uses: actions/cache@v3 - # 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/cypress/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 + timeout-minutes: 30 + if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }} + steps: + # Reference: https://github.com/pierotofy/set-swap-space/blob/master/action.yml + - name: Set 5gb swap + shell: bash + # Delete the swap file, allocate a new one, and activate it + run: | + export SWAP_FILE=$(swapon --show=NAME | tail -n 1) + sudo swapoff $SWAP_FILE + sudo rm $SWAP_FILE + sudo fallocate -l 5G $SWAP_FILE + sudo chmod 600 $SWAP_FILE + sudo mkswap $SWAP_FILE + sudo swapon $SWAP_FILE + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16.15.0 + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Cache node modules + uses: actions/cache@v3 + 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@v4 - # with: - # start: | - # npm run start:api:cache - # npm run start:web - # docker-compose -f ./scripts/cypress/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@v3 - # with: - # name: cypress-restMisc-run-cache-snapshots - # path: scripts/cypress/screenshots - # retention-days: 2 + 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@v4 + with: + start: | + npm run start:api:cache + npm run start:web + docker-compose -f ./scripts/cypress/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@v3 + with: + name: cypress-restMisc-run-cache-snapshots + path: scripts/cypress/screenshots + retention-days: 2 playwright: runs-on: ubuntu-20.04 if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }} diff --git a/scripts/playwright/playwright.config.ts b/scripts/playwright/playwright.config.ts index d2e3135ac2..494b4dba1d 100644 --- a/scripts/playwright/playwright.config.ts +++ b/scripts/playwright/playwright.config.ts @@ -24,8 +24,7 @@ const config: PlaywrightTestConfig = { /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ - // forbidOnly: !!process.env.CI, - forbidOnly: false, + forbidOnly: !!process.env.CI, /* Retry on CI only */ retries: process.env.CI ? 2 : 0, /* Opt out of parallel tests on CI. */ diff --git a/scripts/playwright/scripts/docker-compose-playwright.yml b/scripts/playwright/scripts/docker-compose-playwright.yml index 5ed6846d56..4c7638e689 100644 --- a/scripts/playwright/scripts/docker-compose-playwright.yml +++ b/scripts/playwright/scripts/docker-compose-playwright.yml @@ -11,57 +11,4 @@ services: environment: MYSQL_ROOT_PASSWORD: password volumes: - - ../../../packages/nocodb/tests/mysql-sakila-db:/docker-entrypoint-initdb.d - -# xc-cypress-nocodb: -# network_mode: host -# image: node:14-alpine -# environment: -# - EE=true -# volumes: -# - ./packages/nocodb:/home/app -# command: -# - /bin/sh -# - -c -# - | -# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -# # cp -r /home/app1/ /home/app/ -# rm /home/app/package-lock.json -# rm /home/app/noco.db -# cd /home/app/ && npm i && EE=true npm run run -# # cd /home/app/ && npm i && EE=true npm run watch:run -# xc-cypress-nc-gui: -# network_mode: host -# image: node:14-alpine -# environment: -# - HOST=0.0.0.0 -# - PORT=3000 -# - EE=true -# volumes: -# - ./packages/nc-gui:/home/app -# - ./packages/nc-lib-gui:/home/nc-lib-gui -# command: -# - /bin/sh -# - -c -# - | -# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -# apk --update --no-cache add git -# # cp -r /home/app1/ /home/app/ -# rm /home/app/package-lock.json -# cd /home/app/ && npm i && npm run dev -# # cd /home/app/ && npm i && NODE_ENV=development npm run build && npm start - - - - - - - - - - - - - - - + - ../../../packages/nocodb/tests/mysql-sakila-db:/docker-entrypoint-initdb.d \ No newline at end of file diff --git a/scripts/playwright/tests/columnSingleSelect.spec.ts b/scripts/playwright/tests/columnSingleSelect.spec.ts index 50dbaea6a7..4596d4ba2b 100644 --- a/scripts/playwright/tests/columnSingleSelect.spec.ts +++ b/scripts/playwright/tests/columnSingleSelect.spec.ts @@ -18,7 +18,7 @@ test.describe('Single select', () => { await grid.addNewRow({ index: 0, value: 'Row 0' }); }); - test.only('Select and clear options and rename options', async () => { + test('Select and clear options and rename options', async () => { await grid.cell.selectOption.select({ index: 0, columnHeader: 'SingleSelect', option: 'Option 1' }); await grid.cell.selectOption.verify({ index: 0, columnHeader: 'SingleSelect', option: 'Option 1' });