diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 12b40e165..8bebbfe3e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -55,8 +55,7 @@ jobs:
openidm/startup.sh &
timeout 3m bash -c 'until grep -q "OpenIDM ready" openidm/logs/openidm0.log.0 ; do sleep 5; done' || cat openidm/logs/openidm0.log.0
grep -q "OpenIDM ready" openidm/logs/openidm0.log.0
- ! grep "ERROR" openidm/logs/openidm0.log.0
- ! grep "SEVERE" openidm/logs/openidm0.log.0
+ ! grep -E "ERROR|SEVERE|Exception|Throwable" openidm/logs/openidm0.log.0
- name: Test on Windows
if: runner.os == 'Windows'
run: |
@@ -66,8 +65,11 @@ jobs:
Start-Sleep -s 180
type logs\openidm0.log.0
findstr "OpenIDM ready" logs\openidm0.log.0
- type logs\openidm0.log.0 | find /c '"ERROR"' | findstr "0"
- type logs\openidm0.log.0 | find /c '"SEVERE"' | findstr "0"
+ if (Select-String -Path logs\openidm0.log.0 -Pattern 'ERROR|SEVERE|Exception|Throwable' -Quiet) {
+ Write-Host "Errors or exceptions detected in openidm0.log.0"
+ Select-String -Path logs\openidm0.log.0 -Pattern 'ERROR|SEVERE|Exception|Throwable'
+ exit 1
+ }
- name: Upload failure artifacts
uses: actions/upload-artifact@v7
if: ${{ failure() }}
@@ -136,8 +138,7 @@ jobs:
OPENIDM_OPTS="$OPTS" openidm/startup.sh $ARGS &
timeout 3m bash -c 'until grep -q "OpenIDM ready" openidm/logs/openidm0.log.0 ; do sleep 5; done' || cat openidm/logs/openidm0.log.0
grep -q "OpenIDM ready" openidm/logs/openidm0.log.0
- ! grep "ERROR" openidm/logs/openidm0.log.0
- ! grep "SEVERE" openidm/logs/openidm0.log.0
+ ! grep -E "ERROR|SEVERE|Exception|Throwable" openidm/logs/openidm0.log.0
- name: UI Smoke Tests (Playwright)
run: |
cd e2e
@@ -170,7 +171,23 @@ jobs:
done
else
echo "openidm/logs directory not found"
+ exit 0
fi
+ echo "----- Checking logs for errors/exceptions -----"
+ status=0
+ while IFS= read -r f; do
+ if grep -E -n "ERROR|SEVERE|Exception|Throwable" "$f" > /tmp/log_errors.$$ 2>/dev/null; then
+ echo "Found errors/exceptions in $f:"
+ cat /tmp/log_errors.$$
+ status=1
+ fi
+ rm -f /tmp/log_errors.$$
+ done < <(find openidm/logs -type f)
+ if [ "$status" -ne 0 ]; then
+ echo "Errors or exceptions detected in openidm logs"
+ exit 1
+ fi
+ echo "No errors or exceptions detected in openidm logs"
build-docker:
runs-on: 'ubuntu-latest'
services:
diff --git a/openidm-zip/pom.xml b/openidm-zip/pom.xml
index b5b889f96..2152dca0a 100644
--- a/openidm-zip/pom.xml
+++ b/openidm-zip/pom.xml
@@ -272,6 +272,10 @@
org.apache.felix
org.apache.felix.webconsole.plugins.packageadmin
+
+ org.apache.felix
+ org.apache.felix.prefs
+
org.apache.geronimo.bundles
json
diff --git a/pom.xml b/pom.xml
index 8d4ca3b33..029722aa5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -518,6 +518,11 @@
org.apache.felix.webconsole.plugins.packageadmin
${felix.webconsole.packageadmin.version}
+
+ org.apache.felix
+ org.apache.felix.prefs
+ 1.1.0
+
org.apache.felix