From 74308c64ffc3bfc58d5172abb32c66a5a6e40b8a Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Wed, 4 Jan 2023 15:36:33 +0100 Subject: Fix cypress workflow Signed-off-by: Louis Chemineau --- .github/workflows/cypress.yml | 70 ++++++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 21 deletions(-) (limited to '.github') diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 358d3f2e..8f1dd680 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -11,50 +11,78 @@ env: APP_NAME: social BRANCH: ${{ github.base_ref }} CYPRESS_baseUrl: http://127.0.0.1:8082/index.php + TESTING: true jobs: + init: + runs-on: ubuntu-latest + + steps: + - name: Checkout app + uses: actions/checkout@v2 + + - name: Read package.json node and npm engines version + uses: skjnldsv/read-package-engines-version-actions@v1.1 + id: versions + with: + fallbackNode: "^12" + fallbackNpm: "^6" + + - name: Set up node ${{ steps.versions.outputs.nodeVersion }} + uses: actions/setup-node@v3 + with: + cache: "npm" + node-version: ${{ steps.versions.outputs.nodeVersion }} + + - name: Set up npm ${{ steps.versions.outputs.npmVersion }} + run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + + - name: Install dependencies & build app + run: | + npm ci + composer install + TESTING=true npm run build --if-present + + - name: Save context + uses: actions/cache@v3 + with: + key: cypress-context-${{ github.run_id }} + path: /home/runner/work/social + cypress: runs-on: ubuntu-latest + needs: init strategy: fail-fast: false matrix: - # run 2 copies of the current job in parallel - containers: [1, 2] - node-version: ['12'] - php-versions: ['7.4'] + # run multiple copies of the current job in parallel + containers: [1, 2, 3, 4, 5, 6, 7, 8] - name: Runner ${{ matrix.containers }} + name: runner ${{ matrix.containers }} steps: - - name: Checkout app - uses: actions/checkout@v2 + - name: Restore context + uses: actions/cache@v3 + with: + key: cypress-context-${{ github.run_id }} + path: /home/runner/work/social - name: Setup server run: | cd cypress docker-compose up -d - - name: Set up node ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: Install dependencies & build app - run: | - npm ci - composer install - TESTING=true npm run build --if-present - name: Wait for server - run: | - npm install -g wait-on - wait-on -i 500 -t 240000 $CYPRESS_baseUrl + run: npm run wait-on $CYPRESS_baseUrl - name: Enable app & configure server run: | cd cypress - docker-compose exec --env APP_NAME=${{ env.APP_NAME }} -T nextcloud bash /initserver.sh + docker-compose exec --env APP_NAME=${{ env.APP_NAME }} --env BRANCH=${{ env.BRANCH }} -T nextcloud bash /initserver.sh + - name: Cypress run - uses: cypress-io/github-action@v1 + uses: cypress-io/github-action@v4 with: record: true parallel: true -- cgit v1.2.3