summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2023-01-04 15:36:33 +0100
committerLouis Chemineau <louis@chmn.me>2023-01-04 17:54:47 +0100
commit74308c64ffc3bfc58d5172abb32c66a5a6e40b8a (patch)
tree0f6130fb1d07215d5728e6a9bccd95dab77753c6 /.github
parentdf8d5fdad4d9493186e485660558ef2cfbefa8d6 (diff)
Fix cypress workflow
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/cypress.yml70
1 files changed, 49 insertions, 21 deletions
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