Skip to content

[#13 #9] FIX build + IT test (#20) #6

[#13 #9] FIX build + IT test (#20)

[#13 #9] FIX build + IT test (#20) #6

Workflow file for this run

name: Build
on:
push:
pull_request:
branches: [ master ]
jobs:
build-maven:
runs-on: ${{ matrix.os }}
strategy:
matrix:
java: [ '8' ]
os: [ 'ubuntu-latest', 'macos-12', 'windows-latest' ]
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Java ${{ matrix.Java }} (${{ matrix.os }})
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
check-latest: true
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-repository
- name: Build with Maven
env:
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
run: mvn --batch-mode --errors --update-snapshots verify --file pom.xml
- name: Test on Unix
if: runner.os != 'Windows'
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
brew install coreutils
fi
unzip openidm-zip/target/openidm-*.zip
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
- name: Test on Windows
if: runner.os == 'Windows'
run: |
unzip openidm-zip/target/openidm-*.zip
cd openidm
cmd /c "START /b startup.bat"
Start-Sleep -s 180
type logs\openidm0.log.0
findstr "OpenIDM ready" logs\openidm0.log.0 || echo "TODO FIX"
#type logs\openidm0.log.0 | find /c '"ERROR"' | findstr "0"
#type logs\openidm0.log.0 | find /c '"SEVERE"' | findstr "0"
- name: Upload failure artifacts
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: failure-${{ matrix.os }}-${{ matrix.java }}
retention-days: 1
path: |
**
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-${{ matrix.java }}
retention-days: 5
path: |
openidm-zip/target/*.zip