diff --git a/.github/workflows/e2e-tests.yaml b/.github/workflows/e2e-tests.yaml index 0e7fb3910..b6d6b7eaf 100644 --- a/.github/workflows/e2e-tests.yaml +++ b/.github/workflows/e2e-tests.yaml @@ -16,23 +16,34 @@ jobs: run: | apt-get update apt-get install -y xvfb libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 - - name: Context - env: - GITHUB_CONTEXT: ${{ toJson(github) }} - run: echo "$GITHUB_CONTEXT" - uses: actions/checkout@v2 with: fetch-depth: 1 - name: yarn install run: | yarn install - - name: Cypress run - uses: cypress-io/github-action@v6 - with: - build: yarn prepare:packer - start: node packer/build/bundle.js --listen-api --static-dir packer/build/public - project: ./e2e-tests - + - name: Build + run: | + yarn prepare:packer + - name: yarn install cypress + run: | + cd e2e-tests + yarn install + - name: Start backend server + run: | + node packer/build/bundle.js --listen-api --run-packer-build & + echo $! > backend.pid + - name: Run Cypress tests + run: | + cd e2e-tests + yarn cy:run + env: + CI: true + - name: Stop backend server + run: | + kill $(cat backend.pid) + rm backend.pid + services: mysql: image: mysql:8.0.18 diff --git a/packages/api/src/main.js b/packages/api/src/main.js index 0b008b03c..cc8477e40 100644 --- a/packages/api/src/main.js +++ b/packages/api/src/main.js @@ -78,8 +78,8 @@ function start() { app.use(getExpressPath('/'), express.static('/home/dbgate-docker/public')); } else if (platformInfo.isAwsUbuntuLayout) { app.use(getExpressPath('/'), express.static('/home/ubuntu/build/public')); - } else if (processArgs.staticDir) { - app.use(getExpressPath('/'), express.static(processArgs.staticDir)); + } else if (processArgs.runPackerBuild) { + app.use(getExpressPath('/'), express.static(path.resolve('packer/build/public'))); } else if (platformInfo.isNpmDist) { app.use( getExpressPath('/'), diff --git a/packages/api/src/utility/directories.js b/packages/api/src/utility/directories.js index 99617c1a2..281aa7fd5 100644 --- a/packages/api/src/utility/directories.js +++ b/packages/api/src/utility/directories.js @@ -96,6 +96,9 @@ function packagedPluginsDir() { // return path.resolve(__dirname, '../../plugins'); // } } + if (processArgs.runPackerBuild) { + return path.resolve('packer/build/plugins'); + } return null; } diff --git a/packages/api/src/utility/processArgs.js b/packages/api/src/utility/processArgs.js index 72e977bf5..66a97ade7 100644 --- a/packages/api/src/utility/processArgs.js +++ b/packages/api/src/utility/processArgs.js @@ -14,7 +14,7 @@ const workspaceDir = getNamedArg('--workspace-dir'); const processDisplayName = getNamedArg('--process-display-name'); const listenApi = process.argv.includes('--listen-api'); const listenApiChild = process.argv.includes('--listen-api-child') || listenApi; -const staticDir = getNamedArg('--static-dir'); +const runPackerBuild = process.argv.includes('--run-packer-build'); function getPassArgs() { const res = []; @@ -24,6 +24,9 @@ function getPassArgs() { if (listenApiChild) { res.push('listen-api-child'); } + if (runPackerBuild) { + res.push('--run-packer-build'); + } return res; } @@ -37,5 +40,5 @@ module.exports = { listenApi, listenApiChild, processDisplayName, - staticDir, + runPackerBuild, };