name: iam-ci on: push: branches: [main] pull_request: paths: ['**'] jobs: build: runs-on: ubuntu-latest services: postgres: image: postgres:16 env: POSTGRES_USER: violin POSTGRES_PASSWORD: violin POSTGRES_DB: violin ports: - 5432:5432 options: >- --health-cmd="pg_isready -U violin" --health-interval=5s --health-timeout=3s --health-retries=5 env: VIOLIN_IAM_SERVICE_TOKEN_SECRET: "0011223344556677889900aabbccddeeff" VIOLIN_JWT_PRIVATE_KEY_PATH: "" SPRING_PROFILES_ACTIVE: dev SPRING_DATASOURCE_URL: jdbc:postgresql://localhost:5432/violin SPRING_DATASOURCE_USERNAME: violin SPRING_DATASOURCE_PASSWORD: violin VIOLIN_JWT_JWKS_URL: http://localhost:8080/violin-iam/.well-known/jwks.json steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: distribution: corretto java-version: '17' - name: Cache Maven uses: actions/cache@v4 with: path: ~/.m2/repository key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - name: Install violin-parent + violin-common + violin-core run: | for m in violin-parent violin-common violin-core; do echo "--- installing $m ---" mvn -B -f "$m/pom.xml" -o clean install -DskipTests || mvn -B -f "$m/pom.xml" clean install -DskipTests done - name: Build + test violin-iam run: mvn -B -f violin-iam/pom.xml verify