@@ -2,160 +2,24 @@ name: Release
2
2
on :
3
3
push :
4
4
tags :
5
- - v3.3.[0-9]+
5
+ - v3.3.[0-9]+.fix
6
6
concurrency :
7
7
group : ${{ github.workflow }}-${{ github.ref }}
8
8
jobs :
9
- build-and-stage-release :
10
- name : Build and Stage Release
11
- if : ${{ github.repository == 'spring-projects/spring-boot' || github.repository == 'spring-projects/spring-boot-commercial' }}
12
- runs-on : ${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }}
13
- steps :
14
- - name : Check Out Code
15
- uses : actions/checkout@v4
16
- - name : Build and Publish
17
- id : build-and-publish
18
- uses : ./.github/actions/build
19
- with :
20
- commercial-release-repository-url : ${{ vars.COMMERCIAL_RELEASE_REPO_URL }}
21
- commercial-repository-password : ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}
22
- commercial-repository-username : ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
23
- commercial-snapshot-repository-url : ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
24
- develocity-access-key : ${{ secrets.DEVELOCITY_ACCESS_KEY }}
25
- gradle-cache-read-only : false
26
- publish : true
27
- - name : Stage Release
28
- uses : spring-io/artifactory-deploy-action@dc1913008c0599f0c4b1fdafb6ff3c502b3565ea # v0.0.2
29
- with :
30
- build-name : ${{ vars.COMMERCIAL && format('spring-boot-commercial-{0}', steps.build-and-publish.outputs.version) || format('spring-boot-{0}', steps.build-and-publish.outputs.version) }}
31
- folder : ' deployment-repository'
32
- password : ${{ vars.COMMERCIAL && secrets.COMMERCIAL_ARTIFACTORY_PASSWORD || secrets.ARTIFACTORY_PASSWORD }}
33
- project : ${{ vars.COMMERCIAL && 'spring' }}
34
- repository : ${{ vars.COMMERCIAL && 'spring-enterprise-maven-stage-local' || 'libs-staging-local' }}
35
- signing-key : ${{ secrets.GPG_PRIVATE_KEY }}
36
- signing-passphrase : ${{ secrets.GPG_PASSPHRASE }}
37
- uri : ${{ vars.COMMERCIAL_DEPLOY_REPO_URL || 'https://repo.spring.io' }}
38
- username : ${{ vars.COMMERCIAL && secrets.COMMERCIAL_ARTIFACTORY_USERNAME || secrets.ARTIFACTORY_USERNAME }}
39
- outputs :
40
- version : ${{ steps.build-and-publish.outputs.version }}
41
- verify :
42
- name : Verify
43
- needs : build-and-stage-release
44
- uses : ./.github/workflows/verify.yml
45
- secrets :
46
- commercial-repository-password : ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}
47
- commercial-repository-username : ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
48
- google-chat-webhook-url : ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}
49
- opensource-repository-password : ${{ secrets.ARTIFACTORY_PASSWORD }}
50
- opensource-repository-username : ${{ secrets.ARTIFACTORY_USERNAME }}
51
- token : ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
52
- with :
53
- staging : true
54
- version : ${{ needs.build-and-stage-release.outputs.version }}
55
- sync-to-maven-central :
56
- name : Sync to Maven Central
57
- if : ${{ !vars.COMMERCIAL }}
58
- needs :
59
- - build-and-stage-release
60
- - verify
61
- runs-on : ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
62
- steps :
63
- - name : Check Out Code
64
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
65
- - name : Sync to Maven Central
66
- uses : ./.github/actions/sync-to-maven-central
67
- with :
68
- jfrog-cli-config-token : ${{ secrets.JF_ARTIFACTORY_SPRING }}
69
- ossrh-s01-staging-profile : ${{ secrets.OSSRH_S01_STAGING_PROFILE }}
70
- ossrh-s01-token-password : ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
71
- ossrh-s01-token-username : ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
72
- spring-boot-version : ${{ needs.build-and-stage-release.outputs.version }}
73
- promote-release :
74
- name : Promote Release
75
- needs :
76
- - build-and-stage-release
77
- - sync-to-maven-central
78
- runs-on : ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
79
- steps :
80
- - name : Set up JFrog CLI
81
- uses : jfrog/setup-jfrog-cli@611876cbed7d009aab97257020a59ddde6e840c0 # v4.5.8
82
- env :
83
- JF_ENV_SPRING : ${{ vars.COMMERCIAL && secrets.COMMERCIAL_JF_ARTIFACTORY_SPRING || secrets.JF_ARTIFACTORY_SPRING }}
84
- - name : Promote open source build
85
- if : ${{ !vars.COMMERCIAL }}
86
- run : jfrog rt build-promote ${{ format('spring-boot-{0}', needs.build-and-stage-release.outputs.version)}} ${{ github.run_number }} libs-release-local
87
- - name : Promote commercial build
88
- if : ${{ vars.COMMERCIAL }}
89
- run : jfrog rt build-promote ${{ format('spring-boot-commercial-{0}', needs.build-and-stage-release.outputs.version)}} ${{ github.run_number }} spring-enterprise-maven-prod-local --project spring
90
- publish-gradle-plugin :
91
- name : Publish Gradle Plugin
92
- if : ${{ !vars.COMMERCIAL }}
93
- needs :
94
- - build-and-stage-release
95
- - sync-to-maven-central
96
- runs-on : ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
97
- steps :
98
- - name : Check Out Code
99
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
100
- - name : Publish
101
- uses : ./.github/actions/publish-gradle-plugin
102
- with :
103
- gradle-plugin-publish-key : ${{ secrets.GRADLE_PLUGIN_PUBLISH_KEY }}
104
- gradle-plugin-publish-secret : ${{ secrets.GRADLE_PLUGIN_PUBLISH_SECRET }}
105
- jfrog-cli-config-token : ${{ secrets.JF_ARTIFACTORY_SPRING }}
106
- plugin-version : ${{ needs.build-and-stage-release.outputs.version }}
107
- publish-to-sdkman :
108
- name : Publish to SDKMAN!
109
- if : ${{ !vars.COMMERCIAL }}
110
- needs :
111
- - build-and-stage-release
112
- - sync-to-maven-central
113
- runs-on : ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
114
- steps :
115
- - name : Check Out Code
116
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
117
- - name : Publish to SDKMAN!
118
- uses : ./.github/actions/publish-to-sdkman
119
- with :
120
- make-default : false
121
- sdkman-consumer-key : ${{ secrets.SDKMAN_CONSUMER_KEY }}
122
- sdkman-consumer-token : ${{ secrets.SDKMAN_CONSUMER_TOKEN }}
123
- spring-boot-version : ${{ needs.build-and-stage-release.outputs.version }}
124
9
update-homebrew-tap :
125
10
name : Update Homebrew Tap
126
- needs :
127
- - build-and-stage-release
128
- - sync-to-maven-central
129
11
runs-on : ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
130
12
steps :
131
13
- name : Check Out Code
132
14
uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
133
15
- name : Update Homebrew Tap
134
16
uses : ./.github/actions/update-homebrew-tap
135
17
with :
136
- spring-boot-version : ${{ needs.build-and-stage-release.outputs.version }}
137
- token : ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
138
- trigger-docs-build :
139
- name : Trigger Docs Build
140
- needs :
141
- - build-and-stage-release
142
- - sync-to-maven-central
143
- permissions :
144
- actions : write
145
- runs-on : ubuntu-latest
146
- steps :
147
- - name : Run Deploy Docs Workflow
148
- env :
149
- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
150
- run : gh workflow run deploy-docs.yml --repo spring-projects/spring-boot -r docs-build -f build-refname=${{ github.ref_name }} -f build-version=${{ needs.build-and-stage-release.outputs.version }}
18
+ spring-boot-version : ' 3.3.11'
19
+ token : ${{ secrets.SPRING_IO_GH_ACTIONS_REPO_TOKEN }}
151
20
create-github-release :
152
21
name : Create GitHub Release
153
22
needs :
154
- - build-and-stage-release
155
- - promote-release
156
- - publish-gradle-plugin
157
- - publish-to-sdkman
158
- - trigger-docs-build
159
23
- update-homebrew-tap
160
24
runs-on : ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
161
25
steps :
164
28
- name : Create GitHub Release
165
29
uses : ./.github/actions/create-github-release
166
30
with :
167
- milestone : ${{ needs.build-and-stage-release.outputs.version }}
31
+ milestone : ' 3.3.11 '
168
32
token : ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
169
33
commercial : ${{ vars.COMMERCIAL }}
0 commit comments