name: verify on: push: pull_request: permissions: contents: read jobs: verify: runs-on: ubuntu-24.04 timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: temurin java-version: '21' cache: maven - name: Docker available for Testcontainers run: docker info - name: Verify acceptance checker run: python3 -m unittest discover -s scripts -p 'test_*.py' - name: Verify with isolated PostgreSQL Testcontainers run: sh ./mvnw --batch-mode --no-transfer-progress clean verify - name: Require A01-A20 without skipped tests run: python3 scripts/verify_acceptance.py --require-testcontainers - name: Test reports if: always() uses: actions/upload-artifact@v4 with: name: test-reports path: | target/surefire-reports/ target/failsafe-reports/ target/acceptance-report.json specs/acceptance-cases.json if-no-files-found: error retention-days: 30