Browse Source

fix(test): Added github artifact for quick tests and potential fix for playwright node module GH CI cache issue

pull/4360/head
Muhammed Mustafa 2 years ago
parent
commit
badc15e5f9
  1. 18
      .github/workflows/playwright-test-workflow.yml
  2. 1
      packages/nc-gui/tests/playwright/.gitignore
  3. 3
      packages/nocodb/package.json

18
.github/workflows/playwright-test-workflow.yml

@ -70,14 +70,16 @@ jobs:
run: npm run ci:run run: npm run ci:run
- name: Run backend - name: Run backend
working-directory: ./packages/nocodb working-directory: ./packages/nocodb
run: npm run ci:run & run: |
npm install
npm run watch:run:playwright & > ${{ inputs.db }}_${{ inputs.shard }}_test_backend.log
- name: Cache playwright npm modules - name: Cache playwright npm modules
uses: actions/cache@v3 uses: actions/cache@v3
id: playwright-cache id: playwright-cache
with: with:
path: | path: |
**/playwright/node_modules **/nocodb/packages/nc-gui/tests/playwright/node_modules
key: cache-nc-playwright-${{ hashFiles('**/playwright/package-lock.json') }} key: cache-nc-playwright-${{ hashFiles('**/nocodb/packages/nc-gui/tests/playwright/package-lock.json') }}
- name: Install dependencies - name: Install dependencies
if: steps.playwright-cache.outputs.cache-hit != 'true' if: steps.playwright-cache.outputs.cache-hit != 'true'
working-directory: ./packages/nc-gui/tests/playwright working-directory: ./packages/nc-gui/tests/playwright
@ -108,7 +110,7 @@ jobs:
working-directory: ./packages/nocodb working-directory: ./packages/nocodb
run: | run: |
kill -9 $(lsof -t -i:8080) kill -9 $(lsof -t -i:8080)
npm run watch:run:playwright:quick & npm run watch:run:playwright:quick & > quick_${{ inputs.shard }}_test_backend.log
- name: Wait for backend & run quick tests - name: Wait for backend & run quick tests
if: ${{ inputs.db == 'sqlite' }} if: ${{ inputs.db == 'sqlite' }}
working-directory: ./packages/nc-gui/tests/playwright working-directory: ./packages/nc-gui/tests/playwright
@ -118,6 +120,12 @@ jobs:
sleep 2 sleep 2
done done
PLAYWRIGHT_HTML_REPORT=playwright-report-quick npm run test:quick PLAYWRIGHT_HTML_REPORT=playwright-report-quick npm run test:quick
- uses: actions/upload-artifact@v3
if: ${{ inputs.db == 'sqlite' }}
with:
name: quick-backend-log-${{ inputs.shard }}
path: ./packages/nocodb/quick_${{ inputs.shard }}_test_backend.log
retention-days: 2
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
if: ${{ inputs.db == 'sqlite' }} if: ${{ inputs.db == 'sqlite' }}
with: with:
@ -135,5 +143,5 @@ jobs:
if: always() if: always()
with: with:
name: backend-logs-${{ inputs.db }}-${{ inputs.shard }} name: backend-logs-${{ inputs.db }}-${{ inputs.shard }}
path: ./packages/nocodb/mysql_test_backend.log path: ./packages/nocodb/${{ inputs.db }}_${{ inputs.shard }}_test_backend.log
retention-days: 2 retention-days: 2

1
packages/nc-gui/tests/playwright/.gitignore vendored

@ -2,6 +2,7 @@ node_modules/
/test-results/ /test-results/
/playwright-report/ /playwright-report/
/playwright-report copy/ /playwright-report copy/
/playwright-report-quick/
/playwright/.cache/ /playwright/.cache/
.env .env
output output

3
packages/nocodb/package.json

@ -46,8 +46,7 @@
"watch:run:pg": "cross-env NC_DISABLE_TELE=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/dockerRunPG --log-error --project tsconfig.json\"", "watch:run:pg": "cross-env NC_DISABLE_TELE=true EE=true nodemon -e ts,js -w ./src -x \"ts-node src/run/dockerRunPG --log-error --project tsconfig.json\"",
"run": "ts-node src/run/docker", "run": "ts-node src/run/docker",
"watch:try": "nodemon -e ts,js -w ./src -x \"ts-node src/run/try --log-error --project tsconfig.json\"", "watch:try": "nodemon -e ts,js -w ./src -x \"ts-node src/run/try --log-error --project tsconfig.json\"",
"example:docker": "ts-node src/run/docker.ts", "example:docker": "ts-node src/run/docker.ts"
"ci:run": "npm install; npm run watch:run:playwright > mysql_test_backend.log"
}, },
"engines": { "engines": {
"node": ">=8.9" "node": ">=8.9"

Loading…
Cancel
Save