Files
violin-iam/.github/workflows/iam-ci.yml
T
2026-07-06 22:31:15 +08:00

60 lines
1.6 KiB
YAML

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