Skip to content

Commit 8633247

Browse files
committed
Rework release WFs for option to deploy to Maven Central
1 parent 3f3e2c6 commit 8633247

File tree

4 files changed

+42
-52
lines changed

4 files changed

+42
-52
lines changed

.github/workflows/spring-artifactory-promote-ga.yml renamed to .github/workflows/spring-artifactory-deploy-to-maven-central.yml

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
name: Promote Staged GA release (optional to Maven Central)
1+
name: Deploy Release (Milestone or GA) to Maven Central from Artifactory Build
22

33
on:
44
workflow_call:
55
inputs:
6-
artifactoryProjectKey:
7-
description: 'The Artifactory project key'
8-
required: false
9-
type: string
106
buildName:
117
description: 'The Artifactory Build Name'
128
required: true
@@ -15,11 +11,6 @@ on:
1511
description: 'The Artifactory Build Number'
1612
required: true
1713
type: string
18-
targetRepository:
19-
description: 'The Artifactory Repository to promote the build to'
20-
required: false
21-
type: string
22-
default: libs-release-local
2314
runner:
2415
description: 'The runner for job'
2516
required: false
@@ -28,21 +19,20 @@ on:
2819

2920
secrets:
3021
OSSRH_S01_TOKEN_USERNAME:
31-
required: false
22+
required: true
3223
OSSRH_S01_TOKEN_PASSWORD:
33-
required: false
24+
required: true
3425
OSSRH_STAGING_PROFILE_NAME:
35-
required: false
26+
required: true
3627
JF_ARTIFACTORY_SPRING:
3728
required: true
3829

3930
env:
4031
JF_ENV_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
41-
OSSRH_STAGING_PROFILE_NAME: ${{ secrets.OSSRH_STAGING_PROFILE_NAME }}
4232
WORKFLOWS_REF: main
4333

4434
jobs:
45-
promote-ga:
35+
deploy-to-maven-central:
4636
runs-on: ${{ inputs.runner }}
4737
steps:
4838

@@ -54,9 +44,6 @@ jobs:
5444

5545
- uses: jfrog/setup-jfrog-cli@v4
5646

57-
- name: Promote Build
58-
run: jfrog rt build-promote ${{ inputs.buildName }} ${{ inputs.buildNumber }} ${{ inputs.targetRepository }} --project=${{ inputs.artifactoryProjectKey }}
59-
6047
- name: Download Release Files
6148
if: env.OSSRH_STAGING_PROFILE_NAME
6249
run: |
@@ -66,7 +53,6 @@ jobs:
6653
6754
- uses: spring-io/[email protected]
6855
id: nexus
69-
if: env.OSSRH_STAGING_PROFILE_NAME
7056
with:
7157
username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
7258
password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}

.github/workflows/spring-artifactory-gradle-release.yml

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ on:
4444
description: 'The Artifactory Bundle Name'
4545
required: false
4646
type: string
47+
deployMilestoneToCentral:
48+
description: 'Whether to deploy Milestone release to Maven Central'
49+
default: false
50+
required: false
51+
type: boolean
4752

4853
secrets:
4954
DEVELOCITY_ACCESS_KEY:
@@ -87,7 +92,7 @@ jobs:
8792
secrets: inherit
8893

8994
verify-staged:
90-
needs: [releaseVersion, staging]
95+
needs: [ releaseVersion, staging ]
9196
name: Verify ${{ needs.releaseVersion.outputs.releaseVersion }}
9297
runs-on: ${{ inputs.runner }}
9398
steps:
@@ -111,34 +116,31 @@ jobs:
111116
token: ${{ secrets.GITHUB_TOKEN }}
112117
inputs: '{ "releaseVersion": "${{ needs.releaseVersion.outputs.releaseVersion }}" }'
113118

114-
promote-milestone:
115-
needs: [releaseVersion, staging, verify-staged]
119+
promote-release:
120+
needs: [ releaseVersion, staging, verify-staged ]
116121
name: Promote ${{ needs.releaseVersion.outputs.releaseVersion }}
117-
if: ${{ (contains(needs.releaseVersion.outputs.releaseVersion, '-M') || contains(needs.releaseVersion.outputs.releaseVersion, '-RC')) }}
118-
uses: ./.github/workflows/spring-artifactory-promote-milestone.yml
122+
uses: ./.github/workflows/spring-artifactory-promote-release.yml
119123
with:
120124
buildName: ${{ needs.staging.outputs.buildName }}
121125
buildNumber: ${{ needs.staging.outputs.buildNumber }}
122-
targetRepository: ${{ inputs.targetMilestoneRepository }}
126+
targetRepository: ${{ contains(needs.releaseVersion.outputs.releaseVersion, '-') && inputs.targetMilestoneRepository || inputs.targetReleaseRepository }}
123127
artifactoryProjectKey: ${{ inputs.artifactoryProjectKey }}
124128
runner: ${{ inputs.runner }}
125129
secrets: inherit
126130

127-
promote-ga:
128-
needs: [releaseVersion, staging, verify-staged]
129-
name: Promote ${{ needs.releaseVersion.outputs.releaseVersion }}
130-
if: ${{ !contains(needs.releaseVersion.outputs.releaseVersion, '-') }}
131-
uses: ./.github/workflows/spring-artifactory-promote-ga.yml
131+
deploy-to-central:
132+
needs: [ releaseVersion, staging, promote-release ]
133+
name: Deploy ${{ needs.releaseVersion.outputs.releaseVersion }} to Maven Central
134+
if: ${{ !inputs.bundleName && (!contains(needs.releaseVersion.outputs.releaseVersion, '-') || inputs.deployMilestoneToCentral) }}
135+
uses: ./.github/workflows/spring-artifactory-deploy-to-maven-central.yml
132136
with:
133137
buildName: ${{ needs.staging.outputs.buildName }}
134138
buildNumber: ${{ needs.staging.outputs.buildNumber }}
135-
targetRepository: ${{ inputs.targetReleaseRepository }}
136-
artifactoryProjectKey: ${{ inputs.artifactoryProjectKey }}
137139
runner: ${{ inputs.runner }}
138140
secrets: inherit
139141

140142
spring-release-bundle:
141-
needs: [ releaseVersion, staging, promote-milestone, promote-ga ]
143+
needs: [ releaseVersion, staging, promote-release ]
142144
name: Release Bundle for ${{ needs.releaseVersion.outputs.releaseVersion }}
143145
if: inputs.bundleName
144146
uses: ./.github/workflows/spring-enterprise-release-bundle.yml
@@ -151,8 +153,7 @@ jobs:
151153
secrets: inherit
152154

153155
finalize:
154-
if: ${{ !(failure() || cancelled()) }}
155-
needs: [releaseVersion, promote-milestone, promote-ga]
156+
needs: [ releaseVersion, deploy-to-central, spring-release-bundle ]
156157
name: Finalize ${{ needs.releaseVersion.outputs.releaseVersion }}
157158
uses: ./.github/workflows/spring-finalize-release.yml
158159
with:

.github/workflows/spring-artifactory-maven-release.yml

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ on:
4545
description: 'The Artifactory Bundle Name'
4646
required: false
4747
type: string
48+
deployMilestoneToCentral:
49+
description: 'Whether to deploy Milestone release to Maven Central'
50+
default: false
51+
required: false
52+
type: boolean
4853

4954
secrets:
5055
DEVELOCITY_ACCESS_KEY:
@@ -88,7 +93,7 @@ jobs:
8893
secrets: inherit
8994

9095
verify-staged:
91-
needs: [releaseVersion, staging]
96+
needs: [ releaseVersion, staging ]
9297
name: Verify ${{ needs.releaseVersion.outputs.releaseVersion }}
9398
runs-on: ${{ inputs.runner }}
9499
steps:
@@ -112,23 +117,22 @@ jobs:
112117
token: ${{ secrets.GITHUB_TOKEN }}
113118
inputs: '{ "releaseVersion": "${{ needs.releaseVersion.outputs.releaseVersion }}" }'
114119

115-
promote-milestone:
116-
needs: [releaseVersion, staging, verify-staged]
120+
promote-release:
121+
needs: [ releaseVersion, staging, verify-staged ]
117122
name: Promote ${{ needs.releaseVersion.outputs.releaseVersion }}
118-
if: ${{ (contains(needs.releaseVersion.outputs.releaseVersion, '-M') || contains(needs.releaseVersion.outputs.releaseVersion, '-RC')) }}
119-
uses: ./.github/workflows/spring-artifactory-promote-milestone.yml
123+
uses: ./.github/workflows/spring-artifactory-promote-release.yml
120124
with:
121125
buildName: ${{ needs.staging.outputs.buildName }}
122126
buildNumber: ${{ needs.staging.outputs.buildNumber }}
123-
targetRepository: ${{ inputs.targetMilestoneRepository }}
127+
targetRepository: ${{ contains(needs.releaseVersion.outputs.releaseVersion, '-') && inputs.targetMilestoneRepository || inputs.targetReleaseRepository }}
124128
runner: ${{ inputs.runner }}
125129
secrets: inherit
126130

127-
promote-ga:
128-
needs: [releaseVersion, staging, verify-staged]
129-
name: Promote ${{ needs.releaseVersion.outputs.releaseVersion }}
130-
if: ${{ !contains(needs.releaseVersion.outputs.releaseVersion, '-') }}
131-
uses: ./.github/workflows/spring-artifactory-promote-ga.yml
131+
deploy-to-central:
132+
needs: [ releaseVersion, staging, promote-release ]
133+
name: Deploy ${{ needs.releaseVersion.outputs.releaseVersion }} to Maven Central
134+
if: ${{ !inputs.bundleName && (!contains(needs.releaseVersion.outputs.releaseVersion, '-') || inputs.deployMilestoneToCentral) }}
135+
uses: ./.github/workflows/spring-artifactory-deploy-to-maven-central.yml
132136
with:
133137
buildName: ${{ needs.staging.outputs.buildName }}
134138
buildNumber: ${{ needs.staging.outputs.buildNumber }}
@@ -137,7 +141,7 @@ jobs:
137141
secrets: inherit
138142

139143
spring-release-bundle:
140-
needs: [ releaseVersion, staging, promote-milestone, promote-ga ]
144+
needs: [ releaseVersion, staging, promote-release ]
141145
name: Release Bundle for ${{ needs.releaseVersion.outputs.releaseVersion }}
142146
if: inputs.bundleName
143147
uses: ./.github/workflows/spring-enterprise-release-bundle.yml
@@ -150,8 +154,7 @@ jobs:
150154
secrets: inherit
151155

152156
finalize:
153-
if: ${{ !(failure() || cancelled()) }}
154-
needs: [releaseVersion, promote-milestone, promote-ga]
157+
needs: [ releaseVersion, deploy-to-central, spring-release-bundle ]
155158
name: Finalize ${{ needs.releaseVersion.outputs.releaseVersion }}
156159
uses: ./.github/workflows/spring-finalize-release.yml
157160
with:

.github/workflows/spring-artifactory-promote-milestone.yml renamed to .github/workflows/spring-artifactory-promote-release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Promote Staged Milestone in Artifactory
1+
name: Promote Staged Release (Milestone or GA) in Artifactory
22

33
on:
44
workflow_call:
@@ -19,7 +19,7 @@ on:
1919
description: 'The Artifactory Repository to promote the build to'
2020
required: false
2121
type: string
22-
default: libs-milestone-local
22+
default: libs-release-local
2323
runner:
2424
description: 'The runner for job'
2525
required: false
@@ -35,7 +35,7 @@ env:
3535
WORKFLOWS_REF: main
3636

3737
jobs:
38-
promote-milestone-with-jfrog:
38+
promote-release-with-jfrog:
3939
runs-on: ${{ inputs.runner }}
4040
steps:
4141

0 commit comments

Comments
 (0)