Skip to content

Commit 8f66ef1

Browse files
authored
test_docker: align container launch with playwright-browsers (#1919)
1 parent dc66e4d commit 8f66ef1

7 files changed

Lines changed: 42 additions & 7 deletions

File tree

.github/workflows/test_docker.yml

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,49 @@ jobs:
2828
matrix:
2929
flavor: [jammy, noble]
3030
runs-on: [ubuntu-24.04, ubuntu-24.04-arm]
31+
include:
32+
- runs-on: ubuntu-24.04
33+
arch: amd64
34+
- runs-on: ubuntu-24.04-arm
35+
arch: arm64
3136
steps:
3237
- uses: actions/checkout@v6
3338
- name: Build Docker image
3439
run: |
35-
ARCH="${{ matrix.runs-on == 'ubuntu-24.04-arm' && 'arm64' || 'amd64' }}"
36-
bash utils/docker/build.sh --$ARCH ${{ matrix.flavor }} playwright-java:localbuild-${{ matrix.flavor }}
40+
bash utils/docker/build.sh --${{ matrix.arch }} ${{ matrix.flavor }} playwright-java:localbuild-${{ matrix.flavor }}
3741
- name: Start container
3842
run: |
39-
CONTAINER_ID=$(docker run --rm -e CI -e PW_MAX_RETRIES --ipc=host -v "$(pwd)":/root/playwright --name playwright-docker-test -d -t playwright-java:localbuild-${{ matrix.flavor }} /bin/bash)
43+
CONTAINER_ID=$(docker run \
44+
--rm \
45+
--name playwright-docker-test \
46+
--platform linux/${{ matrix.arch }} \
47+
--user=pwuser \
48+
--workdir /home/pwuser \
49+
--shm-size=2g \
50+
-e CI \
51+
-e PW_MAX_RETRIES \
52+
-d -t \
53+
playwright-java:localbuild-${{ matrix.flavor }} /bin/bash)
4054
echo "CONTAINER_ID=$CONTAINER_ID" >> $GITHUB_ENV
4155
42-
- name: Run test in container
56+
- name: Copy repository inside docker container
4357
run: |
44-
docker exec "$CONTAINER_ID" /root/playwright/tools/test-local-installation/create_project_and_run_tests.sh
58+
docker cp . "$CONTAINER_ID":/home/pwuser/playwright
59+
# /root/.m2 was populated as root during image build; move it to
60+
# pwuser so the locally-installed SNAPSHOT artifacts resolve.
61+
docker exec --user root "$CONTAINER_ID" bash -c '
62+
chown -R pwuser /home/pwuser/playwright
63+
mv /root/.m2 /home/pwuser/.m2
64+
chown -R pwuser /home/pwuser/.m2
65+
'
66+
67+
- name: Run smoke tests in container
68+
run: |
69+
docker exec "$CONTAINER_ID" /home/pwuser/playwright/tools/test-local-installation/create_project_and_run_tests.sh -Dgroups=smoke
4570
4671
- name: Test ClassLoader
4772
run: |
48-
docker exec "${CONTAINER_ID}" /root/playwright/tools/test-spring-boot-starter/package_and_run_async_test.sh
73+
docker exec "${CONTAINER_ID}" /home/pwuser/playwright/tools/test-spring-boot-starter/package_and_run_async_test.sh
4974
5075
- name: Stop container
5176
run: |

playwright/src/test/java/com/microsoft/playwright/TestBrowser1.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.google.gson.JsonObject;
2121
import com.microsoft.playwright.junit.FixtureTest;
2222
import com.microsoft.playwright.junit.UsePlaywright;
23+
import org.junit.jupiter.api.Tag;
2324
import org.junit.jupiter.api.Test;
2425
import org.junit.jupiter.api.condition.EnabledIf;
2526

@@ -30,6 +31,7 @@
3031

3132
@FixtureTest
3233
@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
34+
@Tag("smoke")
3335
public class TestBrowser1 {
3436

3537
@Test

playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBasic.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import com.microsoft.playwright.junit.FixtureTest;
2020
import com.microsoft.playwright.junit.UsePlaywright;
21+
import org.junit.jupiter.api.Tag;
2122
import org.junit.jupiter.api.Test;
2223

2324
import java.io.OutputStreamWriter;
@@ -32,6 +33,7 @@
3233

3334
@FixtureTest
3435
@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
36+
@Tag("smoke")
3537
public class TestBrowserContextBasic {
3638
@Test
3739
void shouldCreateNewContext(Browser browser) {

playwright/src/test/java/com/microsoft/playwright/TestLocatorClick.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@
1717
package com.microsoft.playwright;
1818

1919
import com.microsoft.playwright.options.KeyboardModifier;
20+
import org.junit.jupiter.api.Tag;
2021
import org.junit.jupiter.api.Test;
2122

2223
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
2324
import static java.util.Arrays.asList;
2425
import static org.junit.jupiter.api.Assertions.assertEquals;
2526

27+
@Tag("smoke")
2628
public class TestLocatorClick extends TestBase {
2729

2830
@Test

playwright/src/test/java/com/microsoft/playwright/TestPageBasic.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.microsoft.playwright;
1818

19+
import org.junit.jupiter.api.Tag;
1920
import org.junit.jupiter.api.Test;
2021
import org.junit.jupiter.api.condition.DisabledIf;
2122

@@ -30,6 +31,7 @@
3031
import static java.util.Arrays.asList;
3132
import static org.junit.jupiter.api.Assertions.*;
3233

34+
@Tag("smoke")
3335
public class TestPageBasic extends TestBase {
3436

3537
@Test

playwright/src/test/java/com/microsoft/playwright/TestSelectorsCss.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.microsoft.playwright;
1818

19+
import org.junit.jupiter.api.Tag;
1920
import org.junit.jupiter.api.Test;
2021

2122
import java.util.ArrayList;
@@ -24,6 +25,7 @@
2425

2526
import static org.junit.jupiter.api.Assertions.*;
2627

28+
@Tag("smoke")
2729
public class TestSelectorsCss extends TestBase {
2830

2931
@Test

tools/test-local-installation/create_project_and_run_tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ cp -R ../../driver-bundle/src/test/ $PROJECT_DIR/src/
1414
cp -R ../../playwright/src/test/ $PROJECT_DIR/src/
1515
cd $PROJECT_DIR
1616

17-
mvn test --no-transfer-progress
17+
mvn test --no-transfer-progress "$@"
1818

1919
rm -rf $PROJECT_DIR

0 commit comments

Comments
 (0)