diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 462c8f0714..9856119469 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -25,709 +25,1030 @@ 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 + # 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/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/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 + + # 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/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-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/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: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: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: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: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: | + # 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-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: | + # 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-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: 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: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@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: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-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-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/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-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/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: | - 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: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: | - 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-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: 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/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 @@ -740,25 +1061,26 @@ jobs: # - name: Set env # run: echo "NODE_ENV=test" >> $GITHUB_ENV # - name: Cypress run - # uses: cypress-io/github-action@v2 + # uses: cypress-io/github-action@v4 # with: # start: | - # npm run start:api:cache + # 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/db-independent.js" + # 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@v2 + # uses: actions/upload-artifact@v3 # with: - # name: cypress-restMisc-run-cache-snapshots + # name: cypress-xcdb-restRoles-run-cache-snapshots # path: scripts/cypress/screenshots # retention-days: 2 - # playwright: + # 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 @@ -774,677 +1096,412 @@ 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: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: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: + # 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 - 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 @@ -1480,23 +1537,53 @@ jobs: ${{ 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 + - 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/playwright/scripts/docker-compose-playwright.yml up -d & + - name: run frontend + run: npm run start:web & + - name: Run backend + working-directory: ./packages/nocodb + run: npm run watch:run:playwright > mysql_test_backend.log & + - name: Install dependencies + working-directory: ./scripts/playwright + run: npm install + - name: Install Playwright Browsers + working-directory: ./scripts/playwright + run: npx playwright install chromium --with-deps + - name: Wait for frontend + run: | + while ! curl --output /dev/null --silent --head --fail http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png; do + printf '.' + sleep 2 + done + - name: Wait for backend + run: | + while ! curl --output /dev/null --silent --head --fail http://localhost:8080; do + printf '.' + sleep 2 + done + - name: Run Playwright tests + working-directory: ./scripts/playwright + run: npm run ci:test:mysql + - uses: actions/upload-artifact@v3 + if: always() 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 + name: playwright-report + path: ./scripts/playwright/playwright-report/ + retention-days: 2 + - uses: actions/upload-artifact@v3 if: always() - uses: actions/upload-artifact@v3 with: - name: cypress-restMisc-run-cache-snapshots - path: scripts/cypress/screenshots + name: backend logs + path: ./packages/nocodb/mysql_test_backend.log retention-days: 2 diff --git a/packages/nocodb/package.json b/packages/nocodb/package.json index 21f0e0cbbd..cd00244a8b 100644 --- a/packages/nocodb/package.json +++ b/packages/nocodb/package.json @@ -36,7 +36,7 @@ "docker:build": "EE=\"true-xc-test\" webpack --config docker/webpack.config.js", "watch:build": "nodemon -e ts,js -w ./src -x npm run build", "watch:run": "cross-env NC_DISABLE_TELE1=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/docker --log-error --project tsconfig.json\"", - "watch:run:playwright": "cross-env TEST=true NC_DISABLE_TELE=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/docker --log-error --project tsconfig.json\"", + "watch:run:playwright": "cross-env PLAYWRIGHT_TEST=true NC_DISABLE_TELE=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/testDocker --log-error --project tsconfig.json\"", "watch:run:playwright:quick": "rm -f ./test_noco.db; cp ../../scripts/cypress/fixtures/quickTest/noco_0_91_7.db ./test_noco.db; cross-env DATABASE_URL=sqlite:./test_noco.db NC_DISABLE_TELE=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/docker --log-error --project tsconfig.json\"", "watch:run:playwright:pg:cyquick": "cross-env EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/dockerRunPG_CyQuick.ts --log-error --project tsconfig.json\"", "watch:run:cypress": "cross-env EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/docker --log-error --project tsconfig.json\"", diff --git a/scripts/playwright/scripts/docker-compose-pg-pw-quick.yml b/scripts/playwright/scripts/docker-compose-pg-pw-quick.yml new file mode 100644 index 0000000000..fc81905588 --- /dev/null +++ b/scripts/playwright/scripts/docker-compose-pg-pw-quick.yml @@ -0,0 +1,17 @@ +version: "2.1" + +services: + pg96: + image: postgres:9.6 + restart: always + environment: + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + volumes: + - ../../packages/nocodb/tests/pg-cy-quick:/docker-entrypoint-initdb.d + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 diff --git a/scripts/playwright/scripts/docker-compose-pg.yml b/scripts/playwright/scripts/docker-compose-pg.yml new file mode 100644 index 0000000000..24c60a0413 --- /dev/null +++ b/scripts/playwright/scripts/docker-compose-pg.yml @@ -0,0 +1,17 @@ +version: "2.1" + +services: + pg96: + image: postgres:9.6 + restart: always + environment: + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + volumes: + - ../../packages/nocodb/tests/pg-sakila-db:/docker-entrypoint-initdb.d + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 diff --git a/scripts/playwright/scripts/docker-compose-playwright.yml b/scripts/playwright/scripts/docker-compose-playwright.yml new file mode 100644 index 0000000000..5ed6846d56 --- /dev/null +++ b/scripts/playwright/scripts/docker-compose-playwright.yml @@ -0,0 +1,67 @@ +version: "3.5" + +# https://github.com/docker-library/mysql/issues/149 +# disabling default sql-mode set to only_full_group_by +services: + xc-mysql-sakila-db: + network_mode: host + image: mysql:8.0 + command: mysqld --sql_mode="" + restart: always + 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 + + + + + + + + + + + + + + +