[stable8.1] Fix checkbox radio switch in circle details #519
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors | |
| # SPDX-License-Identifier: MIT | |
| name: E2E tests | |
| on: pull_request | |
| permissions: | |
| contents: read | |
| env: | |
| NODE_VERSION: "20" # TODO: Extract automatically using another action | |
| jobs: | |
| matrix: | |
| runs-on: ubuntu-latest-low | |
| outputs: | |
| php-min: ${{ steps.versions.outputs.php-min }} | |
| branches-min: ${{ steps.versions.outputs.branches-min }} | |
| steps: | |
| - name: Checkout app | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - name: Get version matrix | |
| id: versions | |
| uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1 | |
| frontend-e2e-tests: | |
| runs-on: ubuntu-latest | |
| name: Front-end E2E tests | |
| needs: matrix | |
| steps: | |
| - name: Set up Nextcloud env | |
| uses: ChristophWurst/setup-nextcloud@fc0790385c175d97e88a7cb0933490de6e990374 # v0.3.2 | |
| with: | |
| nextcloud-version: ${{ needs.matrix.outputs.branches-min }} | |
| php-version: ${{ needs.matrix.outputs.php-min }} | |
| node-version: ${{ env.NODE_VERSION }} | |
| install: true | |
| - name: Configure Nextcloud for testing | |
| run: | | |
| php -f nextcloud/occ config:system:set debug --type=bool --value=true | |
| php -f nextcloud/occ config:system:set overwriteprotocol --value=https | |
| php -f nextcloud/occ config:system:set overwritehost --value=localhost | |
| php -f nextcloud/occ config:system:set overwrite.cli.url --value=https://localhost | |
| - name: Check out the app | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 | |
| with: | |
| path: nextcloud/apps/contacts | |
| - name: Install php dependencies | |
| working-directory: nextcloud/apps/contacts | |
| run: composer install | |
| - name: Install the app | |
| run: php -f nextcloud/occ app:enable contacts | |
| - name: Set up node ${{ env.NODE_VERSION }} | |
| uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| - name: Install npm dependencies | |
| working-directory: nextcloud/apps/contacts | |
| run: npm ci | |
| - name: Build frontend | |
| working-directory: nextcloud/apps/contacts | |
| run: npm run build | |
| - name: Install stunnel (tiny https proxy) | |
| run: sudo apt-get update && sudo apt-get install -y stunnel | |
| - name: Start php server and https proxy | |
| working-directory: nextcloud | |
| run: | | |
| openssl req -new -x509 -days 365 -nodes -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=localhost" -out stunnel.pem -keyout stunnel.pem | |
| php -S 127.0.0.1:8080 & | |
| sudo stunnel3 -p stunnel.pem -d 443 -r 8080 | |
| - name: Test https access | |
| run: curl --insecure -Li https://localhost | |
| - name: Install Playwright browsers | |
| working-directory: nextcloud/apps/contacts | |
| run: npx playwright install --with-deps chromium | |
| - name: Run Playwright tests | |
| working-directory: nextcloud/apps/contacts | |
| run: DEBUG=pw:api npx playwright test | |
| - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 | |
| if: always() | |
| with: | |
| name: playwright-report-${{ github.event.number }}-nc${{ needs.matrix.outputs.branches-min }}-php${{ needs.matrix.outputs.php-min }}-node${{ env.NODE_VERSION }} | |
| path: nextcloud/apps/contacts/playwright-report/ | |
| retention-days: 14 | |
| - name: Print server logs | |
| if: always() | |
| run: cat nextcloud/data/nextcloud.log* | |
| env: | |
| CI: true |