Skip to content

Combined dependency updates (2024-08-03) #76

Combined dependency updates (2024-08-03)

Combined dependency updates (2024-08-03) #76

Workflow file for this run

name: test-all
on:
push:
branches-ignore:
- 'dependabot/**' #avoid duplicates: only run the PR, not the commit
- 'gh-pages' #github pages do not trigger all tests
tags-ignore:
- 'v*' #avoid rerun existing commit on release
pull_request:
branches:
- 'main'
env:
TEST_POSTGRES_PWD: ${RANDOM}${RANDOM}${RANDOM}
TEST_ORACLE_PWD: ${RANDOM}${RANDOM}${RANDOM}
#sqlserver must comply with password requirements (upper, lower, digit, symbol)
TEST_SQLSERVER_PWD: ${RANDOM}Ax.${RANDOM}${RANDOM}
jobs:
test:
runs-on: ubuntu-latest
#if: ${{ false }} # disable for now
strategy:
matrix:
dbms: [Postgres, Oracle, Sqlserver]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
cache: 'maven'
- name: Launch Postgres
if: ${{ matrix.dbms == 'Postgres' }}
run: |
docker run -d -p 5432:5432 --name test-postgres --restart unless-stopped \
-e POSTGRES_PASSWORD="$TEST_POSTGRES_PWD" \
-e TEST_POSTGRES_PWD="$TEST_POSTGRES_PWD" \
-v ${GITHUB_WORKSPACE}/setup/postgres:/docker-entrypoint-initdb.d \
postgres:14
chmod u+x setup/wait-container-ready.sh && ./setup/wait-container-ready.sh test-postgres "END SETUP!"
- name: Launch Oracle
if: ${{ matrix.dbms == 'Oracle' }}
run: |
docker run -d -p 1521:1521 --name test-oracle --restart unless-stopped \
-e ORACLE_PASSWORD=$TEST_ORACLE_PWD \
-e TEST_ORACLE_PWD="$TEST_ORACLE_PWD" \
-v ${GITHUB_WORKSPACE}/setup/oracle:/container-entrypoint-initdb.d \
gvenzl/oracle-xe:21.3.0-slim
chmod u+x setup/wait-container-ready.sh && ./setup/wait-container-ready.sh test-oracle "DATABASE IS READY TO USE!"
- name: Launch Sqlserver
if: ${{ matrix.dbms == 'Sqlserver' }}
run: |
docker stop test-sqlserver && docker rm test-sqlserver
docker run -d -p 1433:1433 --name test-sqlserver --restart unless-stopped \
-e SA_PASSWORD="$TEST_SQLSERVER_PWD" \
-e TEST_SQLSERVER_PWD="$TEST_SQLSERVER_PWD" \
-e "ACCEPT_EULA=Y" -e "MSSQL_PID=Developer" \
-v ${GITHUB_WORKSPACE}/setup/sqlserver:/setup.d \
mcr.microsoft.com/mssql/server:2017-latest
chmod u+x setup/wait-container-ready.sh && ./setup/wait-container-ready.sh test-sqlserver "SQL Server is now ready for client connections"
# SQLServer does not have an on startup script, run it now
docker exec test-sqlserver bash -c "chmod u+x setup.d/sqlserver-setup.sh && ./setup.d/sqlserver-setup.sh"
- name: Test ${{ matrix.dbms }}
run: mvn test -Dtest=**/Test${{ matrix.dbms }}* --no-transfer-progress -Duser.timezone=Europe/Madrid
#Note: must specify a timezone to avoid oracle error ORA-01882: timezone region not found