diff --git a/.github/workflows/artifactory-stage.yml b/.github/workflows/artifactory-stage.yml new file mode 100644 index 000000000..07fb77681 --- /dev/null +++ b/.github/workflows/artifactory-stage.yml @@ -0,0 +1,38 @@ +name: Artifactory Staging + +on: + workflow_dispatch: + inputs: + releaseVersion: + description: "Release version" + required: true + +jobs: + build: + name: Stage release to Artifactory + runs-on: ubuntu-latest + steps: + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: 'maven' + + - name: Capture release version + run: echo RELEASE_VERSION=${{ github.event.inputs.releaseVersion }} >> $GITHUB_ENV + + - name: Enforce release rules + run: mvn org.apache.maven.plugins:maven-enforcer-plugin:enforce -Drules=requireReleaseDeps + + - name: Update release version + run: mvn versions:set -DgenerateBackupPoms=false -DnewVersion=$RELEASE_VERSION + + - name: Build with Maven and deploy to Artifactory staging repository + env: + ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} + ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} + run: mvn -P artifactory -s settings.xml --batch-mode -Dmaven.test.skip=true deploy diff --git a/pom.xml b/pom.xml index 0f8df64f9..fd8c7149d 100644 --- a/pom.xml +++ b/pom.xml @@ -344,6 +344,18 @@ + + artifactory + + + spring-staging + https://repo.spring.io/libs-staging-local + + false + + + + diff --git a/settings.xml b/settings.xml index dd01ca87c..6886d0189 100644 --- a/settings.xml +++ b/settings.xml @@ -9,6 +9,11 @@ ${env.ARTIFACTORY_USERNAME} ${env.ARTIFACTORY_PASSWORD} + + spring-staging + ${env.ARTIFACTORY_USERNAME} + ${env.ARTIFACTORY_PASSWORD} + \ No newline at end of file