From: Abhinay Agarwal Date: Mon, 15 Feb 2021 23:32:42 +0530 Subject: Release to Maven Central using Github Actions --- Release to Maven Central using Github Actions --- --- 'a/.github/workflows/build.yml' +++ b/.github/workflows/build.yml @@ -16,12 +16,20 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Setup Java 11 + - name: Setup Java and Maven Central uses: actions/setup-java@v1 with: java-version: 11 + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD - name: Verify project run: mvn clean verify -# TODO: Deploy Snapshots + - name: Deploy snapshots + env: + MAVEN_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + run: | + mvn deploy -DskipTests=true -Dgpg.skip \ No newline at end of file --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,42 @@ +name: Release +on: + push: + tags: + - '*' + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup Java 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + + - name: Configure GIT + run: | + git config user.name "${{ github.event.head_commit.committer.name }}" + git config user.email "${{ github.event.head_commit.committer.email }}" + + - name: Release artifacts + run: | + mvn deploy -DskipTests=true -B -U -Prelease + with: + server-id: ossrh + server-username: ${{ secrets.SONATYPE_USERNAME }} + server-password: ${{ secrets.SONATYPE_PASSWORD }} + gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} + gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} + + - name: Update new version + run: | + TAG=${GITHUB_REF/refs\/tags\//} + newVersion=${TAG%.*}.$((${TAG##*.} + 1)) + mvn versions:set -DnewVersion=$newVersion-SNAPSHOT -DgenerateBackupPoms=false + git commit pom.xml -m "Prepare development of $newVersion" + git push https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY} HEAD:master \ No newline at end of file --- 'a/pom.xml' +++ b/pom.xml @@ -22,6 +22,10 @@ 1.0.0-SNAPSHOT com.stream_pi.client.Main + + 2.2.1 + 3.1.0 + 1.6 @@ -154,10 +158,118 @@ gluon-releases http://nexus.gluonhq.com/nexus/content/repositories/releases/ - + gluon-snapshots https://nexus.gluonhq.com/nexus/content/repositories/public-snapshots - + + + release + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${javadoc.plugin.version} + + + attach-javadocs + + jar + + + + + 8 + + + + org.apache.maven.plugins + maven-gpg-plugin + ${gpg.plugin.version} + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + + + + + + + + Stream Pi + https://www.stream-pi.com + + + + GitHub + https://github.com/Stream-Pi/util/issues + + + + + GPL-3.0 License + https://www.gnu.org/licenses/gpl-3.0.en.html + repo + + + + + + Debayan Sutradhar + debayansutradhar3@gmail.com + Stream-Pi + https://www.stream-pi.com + + + Abhinay Agarwal + abhinay_agarwal@live.com + Stream-Pi + https://www.stream-pi.com + + + + + https://github.com/stream-pi/util + scm:git:git://github.com/stream-pi/util.git + scm:git:ssh://git@github.com:stream-pi/util.git + + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + \ No newline at end of file