publish-snapshot.yml 1.8 KB
Newer Older
智布道's avatar
智布道 已提交
1 2 3 4 5 6 7 8 9
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path

name: Publish Snapshot

on:
  workflow_dispatch:
  push:
    branches: [ dev ]
10 11 12
    paths:
      - src/**
      - pom.xml
智布道's avatar
智布道 已提交
13 14
  pull_request:
    branches: [ dev ]
15 16 17
    paths:
      - src/**
      - pom.xml
智布道's avatar
智布道 已提交
18 19 20 21 22

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
23
      - uses: actions/checkout@v2
24
      - name: Set up JDK 1.8
25
        uses: actions/setup-java@v1
26
        with:
27
          java-version: 1.8
28 29

      - name: Set up Apache Maven Central
30
        uses: actions/setup-java@v1
31
        with:
32 33
          java-version: 1.8
          server-id: sonatype-nexus-snapshots
34 35
          server-username: MAVEN_USERNAME
          server-password: MAVEN_PASSWORD
36
          gpg-passphrase: MAVEN_GPG_PASSWORD
37 38
          gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
      - name: Cache m2 package
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-

      - name: get current project version to set env.VERSION
        run: echo "VERSION=`mvn help:evaluate -Dexpression=project.version -q -DforceStdout`" >> $GITHUB_ENV

      - name: set snapshot version
        if: ${{ !endsWith( env.VERSION , '-SNAPSHOT') }}
        run: mvn versions:set -DnewVersion=${{ env.VERSION }}-SNAPSHOT

      - name: deploy snapshot to oss repository
55
        run: mvn clean deploy -P release
56 57 58
        env:
          MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
          MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
59
          MAVEN_GPG_PASSWORD: ${{ secrets.MAVEN_GPG_PASSWORD }}