50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Maven - Build & Publish
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    tags:
 | 
						|
      - v*
 | 
						|
 | 
						|
jobs:
 | 
						|
  build:
 | 
						|
    runs-on: ubuntu-22.04
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Set up JDK 17
 | 
						|
        uses: actions/setup-java@v3
 | 
						|
        with:
 | 
						|
          java-version: '17'
 | 
						|
          distribution: 'temurin'
 | 
						|
          cache: maven
 | 
						|
 | 
						|
      - name: Cache local Maven repository
 | 
						|
        uses: actions/cache@v3
 | 
						|
        with:
 | 
						|
          path: ~/.m2/repository
 | 
						|
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
 | 
						|
          restore-keys: |
 | 
						|
            ${{ runner.os }}-maven-            
 | 
						|
 | 
						|
      - name: Build with Maven
 | 
						|
        run: mvn -B package --file pom.xml -Dmaven.test.skip=true
 | 
						|
 | 
						|
      - name: Set up Apache Maven Central
 | 
						|
        uses: actions/setup-java@v4
 | 
						|
        with:
 | 
						|
          distribution: 'temurin'
 | 
						|
          java-version: '17'
 | 
						|
          server-id: ossrh
 | 
						|
          server-username: MAVEN_USERNAME
 | 
						|
          server-password: MAVEN_CENTRAL_TOKEN
 | 
						|
          gpg-private-key: ${{ secrets.GPG_SECRET }}
 | 
						|
          gpg-passphrase: MAVEN_GPG_PASSPHRASE
 | 
						|
 | 
						|
      - name: Publish to Apache Maven Central
 | 
						|
        run: mvn deploy -P release -f pom.xml
 | 
						|
        env:
 | 
						|
          MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
 | 
						|
          MAVEN_CENTRAL_TOKEN: ${{ secrets.OSSRH_TOKEN }}
 | 
						|
          MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSWORD }}
 |