Skip to content

Commit df3cc7a

Browse files
committed
Create one-off workflow to update homebrew tap and create the changelog
1 parent 414e605 commit df3cc7a

File tree

1 file changed

+4
-140
lines changed

1 file changed

+4
-140
lines changed

.github/workflows/release.yml

Lines changed: 4 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -2,160 +2,24 @@ name: Release
22
on:
33
push:
44
tags:
5-
- v3.3.[0-9]+
5+
- v3.3.[0-9]+.fix
66
concurrency:
77
group: ${{ github.workflow }}-${{ github.ref }}
88
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 }}
1249
update-homebrew-tap:
12510
name: Update Homebrew Tap
126-
needs:
127-
- build-and-stage-release
128-
- sync-to-maven-central
12911
runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
13012
steps:
13113
- name: Check Out Code
13214
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
13315
- name: Update Homebrew Tap
13416
uses: ./.github/actions/update-homebrew-tap
13517
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 }}
15120
create-github-release:
15221
name: Create GitHub Release
15322
needs:
154-
- build-and-stage-release
155-
- promote-release
156-
- publish-gradle-plugin
157-
- publish-to-sdkman
158-
- trigger-docs-build
15923
- update-homebrew-tap
16024
runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
16125
steps:
@@ -164,6 +28,6 @@ jobs:
16428
- name: Create GitHub Release
16529
uses: ./.github/actions/create-github-release
16630
with:
167-
milestone: ${{ needs.build-and-stage-release.outputs.version }}
31+
milestone: '3.3.11'
16832
token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
16933
commercial: ${{ vars.COMMERCIAL }}

0 commit comments

Comments
 (0)