diff --git a/.github/workflows/build-java.yml b/.github/workflows/build-java.yml new file mode 100644 index 0000000..a2817fe --- /dev/null +++ b/.github/workflows/build-java.yml @@ -0,0 +1,52 @@ +name: Build Java + +on: + push: + branches: + - main + paths: + - "generated/java/**" + - ".github/workflows/build-java.yml" + pull_request: + branches: + - main + paths: + - "generated/java/**" + - ".github/workflows/build-java.yml" + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: 21 + distribution: zulu + + - name: Authenticate to Google Cloud + id: auth + uses: google-github-actions/auth@v2.0.1 + with: + workload_identity_provider: "projects/${{ secrets.GAR_PROJECT_NUMBER }}/locations/global/workloadIdentityPools/gh-actions/providers/gh-actions" + service_account: "gh-actions-dapla-stat@${{ secrets.GAR_PROJECT_ID }}.iam.gserviceaccount.com" + token_format: access_token + + - name: Cache Maven packages + uses: actions/cache@v3 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + + - name: Build with Maven and deploy to Artifact Registry + run: | + pushd generated/java/dapla-kuben-resource-model + ./mvnw --batch-mode -P ssb deploy +