| | |
| | | # This workflow will build a Java project with Maven |
| | | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven |
| | | |
| | | name: Build |
| | | name: Build with Maven |
| | | |
| | | on: |
| | | push: |
| | |
| | | |
| | | jobs: |
| | | build: |
| | | |
| | | name: Maven build |
| | | runs-on: ${{ matrix.os }} |
| | | strategy: |
| | | matrix: |
| | |
| | | - name: Cache Maven packages |
| | | uses: actions/cache@v2 |
| | | with: |
| | | path: ~/.m2 |
| | | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} |
| | | restore-keys: ${{ runner.os }}-m2 |
| | | path: ~/.m2/repository |
| | | key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }} |
| | | restore-keys: ${{ runner.os }}-m2-repository |
| | | - name: Build with Maven |
| | | run: mvn --batch-mode --update-snapshots package --file pom.xml |
| | | env: |
| | | MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10 |
| | | run: mvn --batch-mode --update-snapshots package --file pom.xml |
| | | deploy: |
| | | name: Maven deploy |
| | | needs: build |
| | | if: ${{ github.event_name=='push' && github.ref=='refs/heads/master'}} |
| | | runs-on: 'ubuntu-latest' |
| | | steps: |
| | | - name: Install gpg secret key |
| | | env: |
| | | GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} |
| | | if: ${{ env.GPG_PRIVATE_KEY!=''}} |
| | | run: | |
| | | cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import |
| | | gpg --list-secret-keys --keyid-format LONG |
| | | - uses: actions/checkout@v2 |
| | | - name: Set up Java for publishing to Maven Central Repository OSS |
| | | uses: actions/setup-java@v2 |
| | | with: |
| | | java-version: '8' |
| | | distribution: 'adopt' |
| | | server-id: ossrh |
| | | server-username: MAVEN_USERNAME |
| | | server-password: MAVEN_PASSWORD |
| | | - name: Cache Maven packages |
| | | uses: actions/cache@v2 |
| | | with: |
| | | path: ~/.m2/repository |
| | | key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }} |
| | | restore-keys: ${{ runner.os }}-m2-repository |
| | | - name: Publish to the Maven Central Repository |
| | | env: |
| | | MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} |
| | | MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} |
| | | MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10 |
| | | if: ${{ env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!=''}} |
| | | run: mvn --batch-mode --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} deploy --file pom.xml |