name: CI/CD build on: push: branches: [ "main" ] jobs: build: name: Build branch runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: 'maven' server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD gpg-private-key: ${{ secrets.GPG_SECRET_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Generate Java docs run: mvn -Pjavadoc -B javadoc:aggregate - name: Build with Maven and deploy to Sonatype snapshot repository env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} run: | mvn -Pjavadoc -Prelease --batch-mode --update-snapshots deploy - name: Capture project version run: echo PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version --quiet -DforceStdout) >> $GITHUB_ENV