Skip to content

Commit f145e81

Browse files
committed
Use github release resource for publishing release notes
This commit also marks a release as pre-release for milestones and RCs Closes gh-14908 Closes gh-14875
1 parent 2110215 commit f145e81

File tree

3 files changed

+40
-18
lines changed

3 files changed

+40
-18
lines changed

ci/pipeline.yml

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,20 @@ resources:
3939
repo: ((github-repo-name))
4040
base: ((branch))
4141
ignore_paths: ["ci/*"]
42+
- name: github-pre-release
43+
type: github-release
44+
source:
45+
owner: spring-projects
46+
repository: spring-boot
47+
access_token: ((github-release-notes-access-token))
48+
pre_release: true
49+
- name: github-release
50+
type: github-release
51+
source:
52+
owner: spring-projects
53+
repository: spring-boot
54+
access_token: ((github-release-notes-access-token))
55+
pre_release: false
4256
- name: ci-images-git-repo
4357
type: git
4458
source:
@@ -380,15 +394,20 @@ jobs:
380394
ARTIFACTORY_SERVER: ((artifactory-server))
381395
ARTIFACTORY_USERNAME: ((artifactory-username))
382396
ARTIFACTORY_PASSWORD: ((artifactory-password))
383-
- task: publish-release-notes
397+
- task: generate-release-notes
384398
image: spring-boot-ci-image
385-
file: git-repo/ci/tasks/publish-release-notes.yml
399+
file: git-repo/ci/tasks/generate-release-notes.yml
386400
params:
387401
RELEASE_TYPE: M
388402
GITHUB_ORGANIZATION: spring-projects
389403
GITHUB_REPO: spring-boot
390404
GITHUB_USERNAME: ((github-username))
391405
GITHUB_PASSWORD: ((github-release-notes-access-token))
406+
- put: github-pre-release
407+
params:
408+
name: generated-release-notes/version
409+
tag: generated-release-notes/version
410+
body: generated-release-notes/body
392411
- name: promote-rc
393412
serial: true
394413
plan:
@@ -409,15 +428,20 @@ jobs:
409428
ARTIFACTORY_SERVER: ((artifactory-server))
410429
ARTIFACTORY_USERNAME: ((artifactory-username))
411430
ARTIFACTORY_PASSWORD: ((artifactory-password))
412-
- task: publish-release-notes
431+
- task: generate-release-notes
413432
image: spring-boot-ci-image
414-
file: git-repo/ci/tasks/publish-release-notes.yml
433+
file: git-repo/ci/tasks/generate-release-notes.yml
415434
params:
416435
RELEASE_TYPE: RC
417436
GITHUB_ORGANIZATION: spring-projects
418437
GITHUB_REPO: spring-boot
419438
GITHUB_USERNAME: ((github-username))
420439
GITHUB_PASSWORD: ((github-release-notes-access-token))
440+
- put: github-pre-release
441+
params:
442+
name: generated-release-notes/version
443+
tag: generated-release-notes/version
444+
body: generated-release-notes/body
421445
- name: promote-release
422446
serial: true
423447
plan:
@@ -440,15 +464,20 @@ jobs:
440464
ARTIFACTORY_PASSWORD: ((artifactory-password))
441465
BINTRAY_SUBJECT: ((bintray-subject))
442466
BINTRAY_REPO: ((bintray-repo))
443-
- task: publish-release-notes
467+
- task: generate-release-notes
444468
image: spring-boot-ci-image
445-
file: git-repo/ci/tasks/publish-release-notes.yml
469+
file: git-repo/ci/tasks/generate-release-notes.yml
446470
params:
447471
RELEASE_TYPE: RELEASE
448472
GITHUB_ORGANIZATION: spring-projects
449473
GITHUB_REPO: spring-boot
450474
GITHUB_USERNAME: ((github-username))
451475
GITHUB_PASSWORD: ((github-release-notes-access-token))
476+
- put: github-release
477+
params:
478+
name: generated-release-notes/version
479+
tag: generated-release-notes/version
480+
body: generated-release-notes/body
452481
- name: sync-to-maven-central
453482
serial: true
454483
plan:

ci/scripts/publish-release-notes.sh renamed to ci/scripts/generate-release-notes.sh

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,5 @@ run_maven clean install
1515
java -jar -Dreleasenotes.github.organization=${GITHUB_ORGANIZATION} -Dreleasenotes.github.name=${GITHUB_REPO} target/github-release-notes-generator-0.0.1-SNAPSHOT.jar "${milestone_number}" release-notes.md
1616
popd > /dev/null
1717

18-
19-
body=$( sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' release-notes-repo/release-notes.md )
20-
21-
curl \
22-
-s \
23-
-u ${GITHUB_USERNAME}:${GITHUB_PASSWORD} \
24-
-H "Content-type:application/json" \
25-
-d "{\"tag_name\":\"v${version}\",\"name\":\"v${version}\",\"body\": \"${body}\"}" \
26-
-f \
27-
-X \
28-
POST "https://api.github.com/repos/${GITHUB_ORGANIZATION}/${GITHUB_REPO}/releases" > /dev/null || { echo "Failed to publish" >&2; exit 1; }
18+
cat release-notes-repo/release-notes.md > generated-release-notes/body
19+
echo v${version} > generated-release-notes/version

ci/tasks/publish-release-notes.yml renamed to ci/tasks/generate-release-notes.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ inputs:
44
- name: git-repo
55
- name: release-notes-repo
66
- name: version
7+
outputs:
8+
- name: generated-release-notes
79
params:
810
GITHUB_ORGANIZATION:
911
GITHUB_REPO:
1012
GITHUB_USERNAME:
1113
GITHUB_PASSWORD:
1214
RELEASE_TYPE:
1315
run:
14-
path: git-repo/ci/scripts/publish-release-notes.sh
16+
path: git-repo/ci/scripts/generate-release-notes.sh

0 commit comments

Comments
 (0)