Merge pull request #323 from digipost/upgrade-maven-central-deploy-wi… #293
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and deploy | |
| on: [push] | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| java: [ '8', '17' ] | |
| name: Build on Java ${{ matrix.java }} | |
| runs-on: ubuntu-latest | |
| env: | |
| MAVEN_ARGS: --show-version --no-transfer-progress | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: actions/setup-java@v3 | |
| with: | |
| distribution: temurin | |
| java-version: ${{ matrix.java }} | |
| cache: "maven" | |
| - name: Build with Maven | |
| run: mvn verify | |
| publish: | |
| needs: build | |
| name: Publish ${{ github.ref_name }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/[email protected] | |
| - name: Set up Java | |
| uses: actions/[email protected] | |
| with: | |
| distribution: temurin | |
| java-version: '21' | |
| cache: "maven" | |
| gpg-private-key: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_PRIVATE }} | |
| server-id: central | |
| server-username: MAVEN_CENTRAL_TOKEN_USERNAME | |
| server-password: MAVEN_CENTRAL_TOKEN_PASSWORD | |
| gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
| - name: Activate Artifact Signing and Version Suffix | |
| run: | | |
| profiles="build-sources-and-javadoc,deploy-to-maven-central" | |
| if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then | |
| profiles="$profiles,sign-artifacts" | |
| version_suffix="" | |
| else | |
| version_suffix="-SNAPSHOT" | |
| fi | |
| echo "MAVEN_PROFILES=$profiles" >> $GITHUB_ENV | |
| version="${GITHUB_REF_NAME}${version_suffix}" | |
| echo "VERSION=$version" >> $GITHUB_ENV | |
| - name: Set Maven version | |
| run: mvn --batch-mode --no-transfer-progress versions:set -DnewVersion=${VERSION} | |
| - name: Build and deploy to Maven Central | |
| run: | | |
| mvn --batch-mode --no-transfer-progress --activate-profiles ${MAVEN_PROFILES} deploy | |
| env: | |
| MAVEN_CENTRAL_TOKEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_TOKEN_USERNAME }} | |
| MAVEN_CENTRAL_TOKEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_TOKEN_PASSWORD }} | |
| MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_CENTRAL_SIGNING_KEY_PASSPHRASE }} |