Skip to content

Commit 29b4bad

Browse files
committed
Run playwright tests via compose setup
Signed-off-by: Pablo Zmdl <pablo@nextcloud.com>
1 parent b55ab5e commit 29b4bad

2 files changed

Lines changed: 9 additions & 154 deletions

File tree

.github/workflows/playwright-on-push.yml

Lines changed: 2 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -30,99 +30,11 @@ jobs:
3030
steps:
3131
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3232

33-
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
34-
with:
35-
node-version: 24.15.0
36-
37-
- name: Install dependencies
38-
run: cd php/tests && npm ci
39-
40-
- name: Install Playwright Browsers
41-
run: cd php/tests && npx playwright install --with-deps chromium
42-
43-
- name: Set up php 8.5
44-
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # v2.37.0
45-
with:
46-
extensions: apcu
47-
php-version: 8.5
48-
coverage: none
49-
ini-file: development
50-
env:
51-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52-
53-
- name: Adjust some things and fix permissions
54-
run: |
55-
cd php
56-
rm -r ./data
57-
rm -r ./session
58-
composer install --no-dev
59-
composer clear-cache
60-
sudo chmod 777 -R ../
61-
62-
- name: Start fresh development server
63-
run: |
64-
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true
65-
docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
66-
docker pull ghcr.io/nextcloud-releases/all-in-one:develop
67-
docker run \
68-
-d \
69-
--init \
70-
--name nextcloud-aio-mastercontainer \
71-
--restart always \
72-
--publish 8080:8080 \
73-
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
74-
--volume ./php:/var/www/docker-aio/php \
75-
--volume ./Containers/mastercontainer/internal.Caddyfile:/internal.Caddyfile \
76-
--volume ./Containers/mastercontainer/headers.Caddyfile:/headers.Caddyfile \
77-
--volume ./Containers/mastercontainer/start.sh:/start.sh \
78-
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
79-
--env SKIP_DOMAIN_VALIDATION=true \
80-
--env APACHE_PORT=11000 \
81-
ghcr.io/nextcloud-releases/all-in-one:develop
82-
echo Waiting for 10 seconds for the development container to start ...
83-
sleep 10
84-
8533
- name: Run Playwright tests for initial setup
86-
run: |
87-
cd php/tests
88-
export DEBUG=pw:api
89-
if ! npx playwright test tests/initial-setup.spec.js; then
90-
docker logs nextcloud-aio-mastercontainer
91-
docker logs nextcloud-aio-borgbackup
92-
exit 1
93-
fi
94-
95-
- name: Start fresh development server
96-
run: |
97-
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true
98-
docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
99-
docker run \
100-
-d \
101-
--init \
102-
--name nextcloud-aio-mastercontainer \
103-
--restart always \
104-
--publish 8080:8080 \
105-
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
106-
--volume ./php:/var/www/docker-aio/php \
107-
--volume ./Containers/mastercontainer/internal.Caddyfile:/internal.Caddyfile \
108-
--volume ./Containers/mastercontainer/headers.Caddyfile:/headers.Caddyfile \
109-
--volume ./Containers/mastercontainer/start.sh:/start.sh \
110-
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
111-
--env SKIP_DOMAIN_VALIDATION=false \
112-
--env APACHE_PORT=11000 \
113-
ghcr.io/nextcloud-releases/all-in-one:develop
114-
echo Waiting for 10 seconds for the development container to start ...
115-
sleep 10
34+
run: ./php/tests/run.sh ./tests/initial-setup.spec.js
11635

11736
- name: Run Playwright tests for backup restore
118-
run: |
119-
cd php/tests
120-
export DEBUG=pw:api
121-
if ! npx playwright test tests/restore-instance.spec.js; then
122-
docker logs nextcloud-aio-mastercontainer
123-
docker logs nextcloud-aio-borgbackup
124-
exit 1
125-
fi
37+
run: ./php/tests/run.sh ./tests/restore-instance.spec.js
12638

12739
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
12840
if: ${{ !cancelled() }}

.github/workflows/playwright-on-workflow-dispatch.yml

Lines changed: 7 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -15,77 +15,20 @@ jobs:
1515
steps:
1616
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1717

18-
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
19-
with:
20-
node-version: 24.15.0
21-
22-
- name: Install dependencies
23-
run: cd php/tests && npm ci
24-
25-
- name: Install Playwright Browsers
26-
run: cd php/tests && npx playwright install --with-deps chromium
27-
28-
- name: Start fresh development server
29-
run: |
30-
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true
31-
docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
32-
docker pull ghcr.io/nextcloud-releases/all-in-one:develop
33-
docker run \
34-
-d \
35-
--init \
36-
--name nextcloud-aio-mastercontainer \
37-
--restart always \
38-
--publish 8080:8080 \
39-
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
40-
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
41-
--env SKIP_DOMAIN_VALIDATION=true \
42-
--env APACHE_PORT=11000 \
43-
ghcr.io/nextcloud-releases/all-in-one:develop
44-
echo Waiting for 10 seconds for the development container to start ...
45-
sleep 10
46-
4718
- name: Run Playwright tests for initial setup
48-
run: |
49-
cd php/tests
50-
export DEBUG=pw:api
51-
if ! npx playwright test tests/initial-setup.spec.js; then
52-
docker logs nextcloud-aio-mastercontainer
53-
docker logs nextcloud-aio-borgbackup
54-
exit 1
55-
fi
56-
57-
- name: Start fresh development server
58-
run: |
59-
docker rm --force nextcloud-aio-{mastercontainer,apache,notify-push,nextcloud,redis,database,domaincheck,whiteboard,imaginary,talk,collabora,borgbackup} || true
60-
docker volume rm nextcloud_aio_{mastercontainer,apache,database,database_dump,nextcloud,nextcloud_data,redis,backup_cache,elasticsearch} || true
61-
docker run \
62-
-d \
63-
--init \
64-
--name nextcloud-aio-mastercontainer \
65-
--restart always \
66-
--publish 8080:8080 \
67-
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
68-
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
69-
--env SKIP_DOMAIN_VALIDATION=false \
70-
--env APACHE_PORT=11000 \
71-
ghcr.io/nextcloud-releases/all-in-one:develop
72-
echo Waiting for 10 seconds for the development container to start ...
73-
sleep 10
19+
env:
20+
TEST_CODE_FROM_IMAGE: yes
21+
run: ./run.sh ./tests/initial-setup.spec.js
7422

7523
- name: Run Playwright tests for backup restore
76-
run: |
77-
cd php/tests
78-
export DEBUG=pw:api
79-
if ! npx playwright test tests/restore-instance.spec.js; then
80-
docker logs nextcloud-aio-mastercontainer
81-
docker logs nextcloud-aio-borgbackup
82-
exit 1
83-
fi
24+
env:
25+
TEST_CODE_FROM_IMAGE: yes
26+
run: ./php/tests/run.sh ./tests/restore-instance.spec.js
8427

8528
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
8629
if: ${{ !cancelled() }}
8730
with:
8831
name: playwright-report
8932
path: php/tests/playwright-report/
9033
retention-days: 14
91-
overwrite: true
34+
overwrite: true

0 commit comments

Comments
 (0)