Skip to content

chore(deps): update actions/setup-java action to v5.7.0 (#199) #6

chore(deps): update actions/setup-java action to v5.7.0 (#199)

chore(deps): update actions/setup-java action to v5.7.0 (#199) #6

name: Integration Tests
# Run integration tests in a dedicated workflow — not in the standard PR build —
# because they need Docker/Podman and the IBM Container Registry image.
#
# Triggers:
# - Manual run from the GitHub Actions UI (workflow_dispatch)
# - Push to main that touches integration-test or application code
on:
workflow_dispatch: {}
push:
branches:
- main
paths:
- 'integration-tests/**'
- 'web/**'
- 'application/**'
- 'repository/**'
- '.github/workflows/integration-tests.yml'
jobs:
integration-tests:
name: Run integration tests (Podman)
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v7.0.1
# GitHub Actions runners ship Podman but the socket is not started by default.
- name: Start Podman socket
run: |
systemctl --user start podman.socket
echo "DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock" >> "$GITHUB_ENV"
# Testcontainers uses DOCKER_HOST; Ryuk is disabled via testcontainers.properties
# (ryuk.disabled=true) because Ryuk needs root which Podman rootless does not provide.
- name: Verify Podman socket is reachable
run: curl --unix-socket "/run/user/$(id -u)/podman/podman.sock" http://d/v4.0.0/libpod/info
- name: Set up Java 25
uses: actions/setup-java@v5.7.0
with:
distribution: temurin
java-version: '25'
cache: maven
# Build all modules so the WARs are in target/ before failsafe resolves them.
- name: Build application (skip unit tests for speed)
run: ./mvnw package -DskipTests --no-transfer-progress
# Run integration tests with the run-its profile so failsafe is activated
# and system properties (WAR paths, server.xml path, PG jar path) are set.
- name: Run integration tests
run: >
./mvnw verify
--no-transfer-progress
-pl integration-tests
-P run-its