From bfaaf0cd6126b7b6a51aa5f8267d4292a0dca931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 9 May 2024 10:09:41 +0200 Subject: [PATCH 1/6] ci: Reduce workers for cypress MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .github/workflows/cypress.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index b2d74e736..db962d23c 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -14,7 +14,7 @@ env: jobs: cypress: - runs-on: ubuntu-latest + runs-on: ['ubuntu-latest', 'self-hosted'] strategy: fail-fast: false @@ -83,7 +83,7 @@ jobs: - name: Set up Nextcloud env: DB_PORT: 4444 - PHP_CLI_SERVER_WORKERS: 10 + PHP_CLI_SERVER_WORKERS: 5 run: | mkdir data echo '"\OC\Memcache\APCu","hashing_default_password"=>true];' > config/config.php From a46e06ec34be1304c9ae519a863c1d8ed6760502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 9 May 2024 10:45:12 +0200 Subject: [PATCH 2/6] ci: Revert action and use chrome MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl wip wip Signed-off-by: Julius Härtl --- .github/workflows/cypress.yml | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index db962d23c..d38c89487 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -21,7 +21,7 @@ jobs: matrix: node-version: [20.x] # containers: [1, 2, 3] - php-versions: [ '8.1' ] + php-versions: [ '8.2' ] server-versions: [ 'master' ] services: @@ -83,8 +83,13 @@ jobs: - name: Set up Nextcloud env: DB_PORT: 4444 - PHP_CLI_SERVER_WORKERS: 5 + PHP_CLI_SERVER_WORKERS: 20 run: | + cd apps/deck + composer install --no-dev + npm ci + npm run dev + cd ../.. mkdir data echo '"\OC\Memcache\APCu","hashing_default_password"=>true];' > config/config.php php occ maintenance:install --verbose --database=pgsql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin @@ -96,23 +101,20 @@ jobs: php occ user:add --password-from-env user2 php occ app:enable deck php occ app:list - cd apps/deck - composer install --no-dev - npm ci - npm run build curl -v http://localhost:8081/index.php/login - - name: Run E2E cypress tests - run: | - cd 'apps/${{ env.APP_NAME }}' - npx wait-on $CYPRESS_baseUrl - npx cypress run --record false --config defaultCommandTimeout=10000,video=false + - name: Cypress run + uses: cypress-io/github-action@v6 + with: + record: false + parallel: false + browser: chrome + wait-on: '${{ env.CYPRESS_baseUrl }}' + working-directory: 'apps/${{ env.APP_NAME }}' + config: defaultCommandTimeout=10000,video=false env: - # https://github.com/cypress-io/github-action/issues/124 - COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }} - COMMIT_INFO_SHA: ${{ github.event.pull_request.head.sha }} - CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} - npm_package_name: ${{ env.APP_NAME }} + CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} + npm_package_name: ${{ env.APP_NAME }} - name: Upload test failure screenshots uses: actions/upload-artifact@v4 From 10107d3364f6e3870c0ad9df994907665ee538b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 08:56:36 +0000 Subject: [PATCH 3/6] Chore(deps-dev): Bump cypress from 13.7.2 to 13.9.0 Bumps [cypress](https://github.com/cypress-io/cypress) from 13.7.2 to 13.9.0. - [Release notes](https://github.com/cypress-io/cypress/releases) - [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md) - [Commits](https://github.com/cypress-io/cypress/compare/v13.7.2...v13.9.0) --- updated-dependencies: - dependency-name: cypress dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0389d7e61..7e29d3aac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "@relative-ci/agent": "^4.2.6", "@vue/test-utils": "^2.4.5", "@vue/vue2-jest": "^29.2.6", - "cypress": "^13.7.2", + "cypress": "^13.9.0", "eslint-plugin-cypress": "^2.15.1", "eslint-webpack-plugin": "^4.1.0", "jest": "^29.7.0", @@ -8887,9 +8887,9 @@ "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" }, "node_modules/cypress": { - "version": "13.7.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.7.2.tgz", - "integrity": "sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.9.0.tgz", + "integrity": "sha512-atNjmYfHsvTuCaxTxLZr9xGoHz53LLui3266WWxXJHY7+N6OdwJdg/feEa3T+buez9dmUXHT1izCOklqG82uCQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -29556,9 +29556,9 @@ "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" }, "cypress": { - "version": "13.7.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.7.2.tgz", - "integrity": "sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.9.0.tgz", + "integrity": "sha512-atNjmYfHsvTuCaxTxLZr9xGoHz53LLui3266WWxXJHY7+N6OdwJdg/feEa3T+buez9dmUXHT1izCOklqG82uCQ==", "dev": true, "requires": { "@cypress/request": "^3.0.0", diff --git a/package.json b/package.json index c6242a0e7..6f1517453 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "@relative-ci/agent": "^4.2.6", "@vue/test-utils": "^2.4.5", "@vue/vue2-jest": "^29.2.6", - "cypress": "^13.7.2", + "cypress": "^13.9.0", "eslint-plugin-cypress": "^2.15.1", "eslint-webpack-plugin": "^4.1.0", "jest": "^29.7.0", From 7048bec7557de21982f5a250e16d83b5a1b2338a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 9 May 2024 11:49:19 +0200 Subject: [PATCH 4/6] ci: Simplify cypress workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .github/workflows/cypress.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index d38c89487..958d19bef 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -80,16 +80,16 @@ jobs: apc.enable_cli=on coverage: none + - name: Install composer dependencies + working-directory: apps/${{ env.APP_NAME }} + run: | + composer install --no-dev + - name: Set up Nextcloud env: DB_PORT: 4444 PHP_CLI_SERVER_WORKERS: 20 run: | - cd apps/deck - composer install --no-dev - npm ci - npm run dev - cd ../.. mkdir data echo '"\OC\Memcache\APCu","hashing_default_password"=>true];' > config/config.php php occ maintenance:install --verbose --database=pgsql --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin @@ -106,6 +106,7 @@ jobs: - name: Cypress run uses: cypress-io/github-action@v6 with: + build: npm run dev record: false parallel: false browser: chrome From 4c1d6403030290b4d79d9ecc8233c39a93e3dba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 9 May 2024 11:55:20 +0200 Subject: [PATCH 5/6] ci: Cache php extensions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .github/workflows/cypress.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 958d19bef..51498eff5 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -24,6 +24,10 @@ jobs: php-versions: [ '8.2' ] server-versions: [ 'master' ] + env: + extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu + key: cache-v1 + services: postgres: image: ghcr.io/nextcloud/continuous-integration-postgres-14:latest @@ -71,11 +75,26 @@ jobs: ref: ${{ env.text_app_ref }} path: apps/text + - name: Setup cache environment + id: extcache + uses: shivammathur/cache-extensions@v1 + with: + php-version: ${{ matrix.php-versions }} + extensions: ${{ env.extensions }} + key: ${{ env.key }} + + - name: Cache extensions + uses: actions/cache@v3 + with: + path: ${{ steps.extcache.outputs.dir }} + key: ${{ steps.extcache.outputs.key }} + restore-keys: ${{ steps.extcache.outputs.key }} + - name: Set up php ${{ matrix.php-versions }} uses: shivammathur/setup-php@2.30.4 with: php-version: ${{ matrix.php-versions }} - extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu + extensions: ${{ env.extensions }} ini-values: apc.enable_cli=on coverage: none From ef4c318b310e41a6057c194eee8642db243f3340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Thu, 9 May 2024 11:58:14 +0200 Subject: [PATCH 6/6] ci: Move back to all runners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .github/workflows/cypress.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 51498eff5..df4d76b85 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -14,7 +14,7 @@ env: jobs: cypress: - runs-on: ['ubuntu-latest', 'self-hosted'] + runs-on: 'ubuntu-latest' strategy: fail-fast: false