Skip to content

Commit f2028d2

Browse files
committed
Add workflow for releases to the milestone repository
See gh-33179
1 parent f7d4742 commit f2028d2

File tree

2 files changed

+74
-1
lines changed

2 files changed

+74
-1
lines changed
+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Release Milestone
2+
on:
3+
push:
4+
tags:
5+
- v6.2.0-M[1-9]
6+
- v6.2.0-RC[1-9]
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.ref }}
9+
jobs:
10+
build-and-stage-release:
11+
if: ${{ github.repository == 'spring-projects/spring-framework' }}
12+
name: Build and Stage Release
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Check Out Code
16+
uses: actions/checkout@v4
17+
- name: Build and Publish
18+
id: build-and-publish
19+
uses: ./.github/actions/build
20+
with:
21+
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
22+
publish: true
23+
- name: Stage Release
24+
uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1
25+
with:
26+
build-name: ${{ format('spring-framework-{0}', steps.build-and-publish.outputs.version)}}
27+
folder: 'deployment-repository'
28+
password: ${{ secrets.ARTIFACTORY_PASSWORD }}
29+
repository: 'libs-staging-local'
30+
signing-key: ${{ secrets.GPG_PRIVATE_KEY }}
31+
signing-passphrase: ${{ secrets.GPG_PASSPHRASE }}
32+
uri: 'https://repo.spring.io'
33+
username: ${{ secrets.ARTIFACTORY_USERNAME }}
34+
outputs:
35+
version: ${{ steps.build-and-publish.outputs.version }}
36+
verify:
37+
name: Verify
38+
needs: build-and-stage-release
39+
uses: ./.github/workflows/verify.yml
40+
with:
41+
staging: true
42+
version: ${{ needs.build-and-stage-release.outputs.version }}
43+
secrets:
44+
google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}
45+
repository-password: ${{ secrets.ARTIFACTORY_PASSWORD }}
46+
repository-username: ${{ secrets.ARTIFACTORY_USERNAME }}
47+
token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
48+
promote-release:
49+
name: Promote Release
50+
needs:
51+
- build-and-stage-release
52+
runs-on: ubuntu-latest
53+
steps:
54+
- name: Set up JFrog CLI
55+
uses: jfrog/setup-jfrog-cli@7c95feb32008765e1b4e626b078dfd897c4340ad # v4.1.2
56+
env:
57+
JF_ENV_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
58+
- name: Promote build
59+
run: jfrog rt build-promote ${{ format('spring-framework-{0}', needs.build-and-stage-release.outputs.version)}} ${{ github.run_number }} libs-milestone-local
60+
create-github-release:
61+
name: Create GitHub Release
62+
needs:
63+
- build-and-stage-release
64+
- promote-release
65+
runs-on: ubuntu-latest
66+
steps:
67+
- name: Check Out Code
68+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
69+
- name: Create GitHub Release
70+
uses: ./.github/actions/create-github-release
71+
with:
72+
milestone: ${{ needs.build-and-stage-release.outputs.version }}
73+
token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Release
22
on:
33
push:
44
tags:
5-
- v6.1.[0-9]+
5+
- v6.2.[0-9]+
66
concurrency:
77
group: ${{ github.workflow }}-${{ github.ref }}
88
jobs:

0 commit comments

Comments
 (0)