5757 grep -q "OpenIDM ready" openidm/logs/openidm0.log.0
5858 ! grep "ERROR" openidm/logs/openidm0.log.0
5959 ! grep "SEVERE" openidm/logs/openidm0.log.0
60- - name : UI Smoke Tests (Playwright)
61- if : runner.os == 'Linux'
62- run : |
63- cd e2e
64- npm init -y
65- npm install @playwright/test
66- npx playwright install chromium --with-deps
67- npx playwright test --reporter=list
68- env :
69- OPENIDM_URL : http://localhost:8080
70- - name : Start OpenIDM with custom context path /myidm
71- if : runner.os == 'Linux'
72- run : |
73- openidm/shutdown.sh
74- timeout 1m bash -c 'while [ -f openidm/.openidm.pid ]; do sleep 2; done' || true
75- rm -rf openidm/logs/*
76- OPENIDM_OPTS="-Dlogback.configurationFile=conf/logging-config.groovy -Dopenidm.context.path=/myidm" openidm/startup.sh &
77- timeout 3m bash -c 'until grep -q "OpenIDM ready" openidm/logs/openidm0.log.0 ; do sleep 5; done' || cat openidm/logs/openidm0.log.0
78- grep -q "OpenIDM ready" openidm/logs/openidm0.log.0
79- ! grep "ERROR" openidm/logs/openidm0.log.0
80- ! grep "SEVERE" openidm/logs/openidm0.log.0
81- - name : UI Smoke Tests with /myidm context path (Playwright)
82- if : runner.os == 'Linux'
83- run : |
84- cd e2e
85- npx playwright test --reporter=list
86- env :
87- OPENIDM_URL : http://localhost:8080
88- OPENIDM_CONTEXT_PATH : /myidm
8960 - name : Test on Windows
9061 if : runner.os == 'Windows'
9162 run : |
@@ -112,6 +83,82 @@ jobs:
11283 retention-days : 5
11384 path : |
11485 openidm-zip/target/*.zip
86+ ui-smoke-tests :
87+ runs-on : ubuntu-latest
88+ needs : build-maven
89+ strategy :
90+ fail-fast : false
91+ matrix :
92+ java : [ '17', '26' ]
93+ context_path : [ "", "/myidm" ]
94+ samples : [ "", "samples/getting-started", "samples/workflow" ]
95+ include :
96+ - context_path : " "
97+ context_label : default
98+ - context_path : " /myidm"
99+ context_label : myidm
100+ - samples : " "
101+ samples_label : default
102+ - samples : " samples/getting-started"
103+ samples_label : getting-started
104+ - samples : " samples/workflow"
105+ samples_label : workflow
106+ steps :
107+ - uses : actions/checkout@v6
108+ - name : Set up Java ${{ matrix.java }}
109+ uses : actions/setup-java@v5
110+ with :
111+ java-version : ${{ matrix.java }}
112+ distribution : ' zulu'
113+ - name : Download OpenIDM zip artifact
114+ uses : actions/download-artifact@v5
115+ with :
116+ name : ubuntu-latest-${{ matrix.java }}
117+ path : openidm-zip/target
118+ - name : Unpack OpenIDM
119+ run : unzip -q openidm-zip/target/openidm-*.zip
120+ - name : Cache Playwright browsers
121+ uses : actions/cache@v5
122+ with :
123+ path : ~/.cache/ms-playwright
124+ key : ${{ runner.os }}-playwright-browsers
125+ restore-keys : ${{ runner.os }}-playwright-
126+ - name : Start OpenIDM (context_path='${{ matrix.context_path }}', samples='${{ matrix.samples }}')
127+ run : |
128+ OPTS=""
129+ if [ -n "${{ matrix.context_path }}" ]; then
130+ OPTS="-Dlogback.configurationFile=conf/logging-config.groovy -Dopenidm.context.path=${{ matrix.context_path }}"
131+ fi
132+ ARGS=""
133+ if [ -n "${{ matrix.samples }}" ]; then
134+ ARGS="-p ${{ matrix.samples }}"
135+ fi
136+ OPENIDM_OPTS="$OPTS" openidm/startup.sh $ARGS &
137+ timeout 3m bash -c 'until grep -q "OpenIDM ready" openidm/logs/openidm0.log.0 ; do sleep 5; done' || cat openidm/logs/openidm0.log.0
138+ grep -q "OpenIDM ready" openidm/logs/openidm0.log.0
139+ ! grep "ERROR" openidm/logs/openidm0.log.0
140+ ! grep "SEVERE" openidm/logs/openidm0.log.0
141+ - name : UI Smoke Tests (Playwright)
142+ run : |
143+ cd e2e
144+ npm init -y
145+ npm install @playwright/test
146+ npx playwright install chromium --with-deps
147+ npx playwright test --reporter=list
148+ env :
149+ OPENIDM_URL : http://localhost:8080
150+ OPENIDM_CONTEXT_PATH : ${{ matrix.context_path }}
151+ OPENIDM_SAMPLE : ${{ matrix.samples }}
152+ - name : Upload failure artifacts
153+ uses : actions/upload-artifact@v7
154+ if : ${{ failure() }}
155+ with :
156+ name : failure-ui-java${{ matrix.java }}-${{ matrix.context_label }}-${{ matrix.samples_label }}
157+ retention-days : 1
158+ path : |
159+ openidm/logs/**
160+ e2e/playwright-report/**
161+ e2e/test-results/**
115162 build-docker :
116163 runs-on : ' ubuntu-latest'
117164 services :
0 commit comments