diff --git a/.github/workflows/playwright-on-push.yml b/.github/workflows/playwright-on-push.yml index a8eaf1e3..1466df8c 100644 --- a/.github/workflows/playwright-on-push.yml +++ b/.github/workflows/playwright-on-push.yml @@ -30,99 +30,11 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 - with: - node-version: 24.15.0 - - - name: Install dependencies - run: cd php/tests && npm ci - - - name: Install Playwright Browsers - run: cd php/tests && npx playwright install --with-deps chromium - - - name: Set up php 8.5 - uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0 - with: - extensions: apcu - php-version: 8.5 - coverage: none - ini-file: development - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Adjust some things and fix permissions - run: | - cd php - rm -r ./data - rm -r ./session - composer install --no-dev - composer clear-cache - sudo chmod 777 -R ../ - - - name: Start fresh development server - run: | - docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true - docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true - docker pull ghcr.io/nextcloud-releases/all-in-one:develop - docker run \ - -d \ - --init \ - --name nextcloud-aio-mastercontainer \ - --restart always \ - --publish 8080:8080 \ - --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ - --volume ./php:/var/www/docker-aio/php \ - --volume ./Containers/mastercontainer/internal.Caddyfile:/internal.Caddyfile \ - --volume ./Containers/mastercontainer/headers.Caddyfile:/headers.Caddyfile \ - --volume ./Containers/mastercontainer/start.sh:/start.sh \ - --volume /var/run/docker.sock:/var/run/docker.sock:ro \ - --env SKIP_DOMAIN_VALIDATION=true \ - --env APACHE_PORT=11000 \ - ghcr.io/nextcloud-releases/all-in-one:develop - echo Waiting for 10 seconds for the development container to start ... - sleep 10 - - name: Run Playwright tests for initial setup - run: | - cd php/tests - export DEBUG=pw:api - if ! npx playwright test tests/initial-setup.spec.js; then - docker logs nextcloud-aio-mastercontainer - docker logs nextcloud-aio-borgbackup - exit 1 - fi - - - name: Start fresh development server - run: | - docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true - docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true - docker run \ - -d \ - --init \ - --name nextcloud-aio-mastercontainer \ - --restart always \ - --publish 8080:8080 \ - --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ - --volume ./php:/var/www/docker-aio/php \ - --volume ./Containers/mastercontainer/internal.Caddyfile:/internal.Caddyfile \ - --volume ./Containers/mastercontainer/headers.Caddyfile:/headers.Caddyfile \ - --volume ./Containers/mastercontainer/start.sh:/start.sh \ - --volume /var/run/docker.sock:/var/run/docker.sock:ro \ - --env SKIP_DOMAIN_VALIDATION=false \ - --env APACHE_PORT=11000 \ - ghcr.io/nextcloud-releases/all-in-one:develop - echo Waiting for 10 seconds for the development container to start ... - sleep 10 + run: ./php/tests/run.sh ./tests/initial-setup.spec.js - name: Run Playwright tests for backup restore - run: | - cd php/tests - export DEBUG=pw:api - if ! npx playwright test tests/restore-instance.spec.js; then - docker logs nextcloud-aio-mastercontainer - docker logs nextcloud-aio-borgbackup - exit 1 - fi + run: ./php/tests/run.sh ./tests/restore-instance.spec.js - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 if: ${{ !cancelled() }} diff --git a/.github/workflows/playwright-on-workflow-dispatch.yml b/.github/workflows/playwright-on-workflow-dispatch.yml index 03c1fd0f..d57d1722 100644 --- a/.github/workflows/playwright-on-workflow-dispatch.yml +++ b/.github/workflows/playwright-on-workflow-dispatch.yml @@ -15,72 +15,15 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 - with: - node-version: 24.15.0 - - - name: Install dependencies - run: cd php/tests && npm ci - - - name: Install Playwright Browsers - run: cd php/tests && npx playwright install --with-deps chromium - - - name: Start fresh development server - run: | - docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true - docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true - docker pull ghcr.io/nextcloud-releases/all-in-one:develop - docker run \ - -d \ - --init \ - --name nextcloud-aio-mastercontainer \ - --restart always \ - --publish 8080:8080 \ - --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ - --volume /var/run/docker.sock:/var/run/docker.sock:ro \ - --env SKIP_DOMAIN_VALIDATION=true \ - --env APACHE_PORT=11000 \ - ghcr.io/nextcloud-releases/all-in-one:develop - echo Waiting for 10 seconds for the development container to start ... - sleep 10 - - name: Run Playwright tests for initial setup - run: | - cd php/tests - export DEBUG=pw:api - if ! npx playwright test tests/initial-setup.spec.js; then - docker logs nextcloud-aio-mastercontainer - docker logs nextcloud-aio-borgbackup - exit 1 - fi - - - name: Start fresh development server - run: | - docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true - docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true - docker run \ - -d \ - --init \ - --name nextcloud-aio-mastercontainer \ - --restart always \ - --publish 8080:8080 \ - --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ - --volume /var/run/docker.sock:/var/run/docker.sock:ro \ - --env SKIP_DOMAIN_VALIDATION=false \ - --env APACHE_PORT=11000 \ - ghcr.io/nextcloud-releases/all-in-one:develop - echo Waiting for 10 seconds for the development container to start ... - sleep 10 + env: + TEST_CODE_FROM_IMAGE: yes + run: ./run.sh ./tests/initial-setup.spec.js - name: Run Playwright tests for backup restore - run: | - cd php/tests - export DEBUG=pw:api - if ! npx playwright test tests/restore-instance.spec.js; then - docker logs nextcloud-aio-mastercontainer - docker logs nextcloud-aio-borgbackup - exit 1 - fi + env: + TEST_CODE_FROM_IMAGE: yes + run: ./php/tests/run.sh ./tests/restore-instance.spec.js - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 if: ${{ !cancelled() }} @@ -88,4 +31,4 @@ jobs: name: playwright-report path: php/tests/playwright-report/ retention-days: 14 - overwrite: true + overwrite: true \ No newline at end of file