@ -25,651 +25,6 @@ concurrency:
cancel-in-progress : true
cancel-in-progress : true
jobs:
jobs:
cypress-restTableOps-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/restTableOps.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-restTableOps-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-restViews-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/restViews.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-restViews-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-restRoles-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/restRoles.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-restRoles-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-restMisc-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/restMisc.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-restMisc-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-xcdb-restTableOps-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:xcdb-api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/xcdb-restTableOps.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-xcdb-restTableOps-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-xcdb-restViews-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:xcdb-api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/xcdb-restViews.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-xcdb-restViews-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-xcdb-restRoles-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:xcdb-api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/xcdb-restRoles.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-xcdb-restRoles-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-xcdb-restMisc-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:xcdb-api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/xcdb-restMisc.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-xcdb-restMisc-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-pg-restTableOps-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d
spec : "./scripts/cypress/integration/test/pg-restTableOps.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-pg-restTableOps-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
cypress-pg-restViews-run-cache:
runs-on : ubuntu-20.04
timeout-minutes : 30
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
fetch-depth : 0
- name : Cache node modules
uses : actions/cache@v3
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-pg.yml up -d
spec : "./scripts/cypress/integration/test/pg-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-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 : |
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:
unit-tests:
runs-on : ubuntu-20.04
runs-on : ubuntu-20.04
timeout-minutes : 30
timeout-minutes : 30
@ -711,144 +66,39 @@ jobs:
- name : run unit tests
- name : run unit tests
working-directory : ./packages/nocodb
working-directory : ./packages/nocodb
run : npm run test:unit
run : npm run test:unit
cypress-db-independent:
playwright-mysql-1:
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 }}
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
uses : ./.github/workflows/playwright-test-workflow.yml
- name : Setup Node
uses : actions/setup-node@v3
with:
node-version : 16.15 .0
- name : Checkout
uses : actions/checkout@v3
with:
with:
fetch-depth : 0
db : mysql
- name : Cache node modules
shard : 1
uses : actions/cache@v3
playwright-mysql-2:
env:
cache-name : cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path : ~/.npm
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys : |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name : Set env
run : echo "NODE_ENV=test" >> $GITHUB_ENV
- name : Cypress run
uses : cypress-io/github-action@v4
with:
start : |
npm run start:api:cache
npm run start:web
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up -d
spec : "./scripts/cypress/integration/test/db-independent.js"
wait-on : "http://localhost:8080, http://localhost:3000/_nuxt/assets/img/icons/512x512-trans.png"
wait-on-timeout : 1200
config-file : scripts/cypress/cypress.json
- name : Upload screenshots
if : always()
uses : actions/upload-artifact@v3
with:
name : cypress-restMisc-run-cache-snapshots
path : scripts/cypress/screenshots
retention-days : 2
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 }}
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
steps:
uses : ./.github/workflows/playwright-test-workflow.yml
# 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:
with:
fetch-depth : 0
db : mysql
- name : Cache node modules
shard : 2
uses : actions/cache@v3
playwright-sqlite-1:
env:
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
cache-name : cache-node-modules
uses : ./.github/workflows/playwright-test-workflow.yml
with:
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
db : sqlite
path : ~/.npm
shard : 1
key : ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
playwright-sqlite-2:
restore-keys : |
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
${{ runner.os }}-build-${{ env.cache-name }}-
uses : ./.github/workflows/playwright-test-workflow.yml
${{ 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/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 : Cache playwright npm modules
uses : actions/cache@v3
id : playwright-cache
with:
with:
path : |
db : sqlite
**/playwright/node_modules
shard : 2
key : cache-playwright-${{ hashFiles('**/playwright/package-lock.json') }}
playwright-pg-shard-1:
- name : Install dependencies
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
if : steps.playwright-cache.outputs.cache-hit != 'true'
uses : ./.github/workflows/playwright-test-workflow.yml
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:
with:
name : playwri ght-report
db : pg
path : ./scripts/playwright/playwright-report/
shard : 1
retention-days : 2
playwright-pg-shard-2:
- uses : actions/upload-artifact@v3
if : ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'trigger-CI') || !github.event.pull_request.draft }}
if : always()
uses : ./.github/workflows/playwright-test-workflow.yml
with:
with:
name : backend logs
db : pg
path : ./packages/nocodb/mysql_test_backend.log
shard : 2
retention-days : 2