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
This commit is contained in:
parent
2110215559
commit
f145e81354
|
|
@ -39,6 +39,20 @@ resources:
|
||||||
repo: ((github-repo-name))
|
repo: ((github-repo-name))
|
||||||
base: ((branch))
|
base: ((branch))
|
||||||
ignore_paths: ["ci/*"]
|
ignore_paths: ["ci/*"]
|
||||||
|
- name: github-pre-release
|
||||||
|
type: github-release
|
||||||
|
source:
|
||||||
|
owner: spring-projects
|
||||||
|
repository: spring-boot
|
||||||
|
access_token: ((github-release-notes-access-token))
|
||||||
|
pre_release: true
|
||||||
|
- name: github-release
|
||||||
|
type: github-release
|
||||||
|
source:
|
||||||
|
owner: spring-projects
|
||||||
|
repository: spring-boot
|
||||||
|
access_token: ((github-release-notes-access-token))
|
||||||
|
pre_release: false
|
||||||
- name: ci-images-git-repo
|
- name: ci-images-git-repo
|
||||||
type: git
|
type: git
|
||||||
source:
|
source:
|
||||||
|
|
@ -380,15 +394,20 @@ jobs:
|
||||||
ARTIFACTORY_SERVER: ((artifactory-server))
|
ARTIFACTORY_SERVER: ((artifactory-server))
|
||||||
ARTIFACTORY_USERNAME: ((artifactory-username))
|
ARTIFACTORY_USERNAME: ((artifactory-username))
|
||||||
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
- task: publish-release-notes
|
- task: generate-release-notes
|
||||||
image: spring-boot-ci-image
|
image: spring-boot-ci-image
|
||||||
file: git-repo/ci/tasks/publish-release-notes.yml
|
file: git-repo/ci/tasks/generate-release-notes.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: M
|
RELEASE_TYPE: M
|
||||||
GITHUB_ORGANIZATION: spring-projects
|
GITHUB_ORGANIZATION: spring-projects
|
||||||
GITHUB_REPO: spring-boot
|
GITHUB_REPO: spring-boot
|
||||||
GITHUB_USERNAME: ((github-username))
|
GITHUB_USERNAME: ((github-username))
|
||||||
GITHUB_PASSWORD: ((github-release-notes-access-token))
|
GITHUB_PASSWORD: ((github-release-notes-access-token))
|
||||||
|
- put: github-pre-release
|
||||||
|
params:
|
||||||
|
name: generated-release-notes/version
|
||||||
|
tag: generated-release-notes/version
|
||||||
|
body: generated-release-notes/body
|
||||||
- name: promote-rc
|
- name: promote-rc
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
|
|
@ -409,15 +428,20 @@ jobs:
|
||||||
ARTIFACTORY_SERVER: ((artifactory-server))
|
ARTIFACTORY_SERVER: ((artifactory-server))
|
||||||
ARTIFACTORY_USERNAME: ((artifactory-username))
|
ARTIFACTORY_USERNAME: ((artifactory-username))
|
||||||
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
- task: publish-release-notes
|
- task: generate-release-notes
|
||||||
image: spring-boot-ci-image
|
image: spring-boot-ci-image
|
||||||
file: git-repo/ci/tasks/publish-release-notes.yml
|
file: git-repo/ci/tasks/generate-release-notes.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: RC
|
RELEASE_TYPE: RC
|
||||||
GITHUB_ORGANIZATION: spring-projects
|
GITHUB_ORGANIZATION: spring-projects
|
||||||
GITHUB_REPO: spring-boot
|
GITHUB_REPO: spring-boot
|
||||||
GITHUB_USERNAME: ((github-username))
|
GITHUB_USERNAME: ((github-username))
|
||||||
GITHUB_PASSWORD: ((github-release-notes-access-token))
|
GITHUB_PASSWORD: ((github-release-notes-access-token))
|
||||||
|
- put: github-pre-release
|
||||||
|
params:
|
||||||
|
name: generated-release-notes/version
|
||||||
|
tag: generated-release-notes/version
|
||||||
|
body: generated-release-notes/body
|
||||||
- name: promote-release
|
- name: promote-release
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
|
|
@ -440,15 +464,20 @@ jobs:
|
||||||
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
BINTRAY_SUBJECT: ((bintray-subject))
|
BINTRAY_SUBJECT: ((bintray-subject))
|
||||||
BINTRAY_REPO: ((bintray-repo))
|
BINTRAY_REPO: ((bintray-repo))
|
||||||
- task: publish-release-notes
|
- task: generate-release-notes
|
||||||
image: spring-boot-ci-image
|
image: spring-boot-ci-image
|
||||||
file: git-repo/ci/tasks/publish-release-notes.yml
|
file: git-repo/ci/tasks/generate-release-notes.yml
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE: RELEASE
|
RELEASE_TYPE: RELEASE
|
||||||
GITHUB_ORGANIZATION: spring-projects
|
GITHUB_ORGANIZATION: spring-projects
|
||||||
GITHUB_REPO: spring-boot
|
GITHUB_REPO: spring-boot
|
||||||
GITHUB_USERNAME: ((github-username))
|
GITHUB_USERNAME: ((github-username))
|
||||||
GITHUB_PASSWORD: ((github-release-notes-access-token))
|
GITHUB_PASSWORD: ((github-release-notes-access-token))
|
||||||
|
- put: github-release
|
||||||
|
params:
|
||||||
|
name: generated-release-notes/version
|
||||||
|
tag: generated-release-notes/version
|
||||||
|
body: generated-release-notes/body
|
||||||
- name: sync-to-maven-central
|
- name: sync-to-maven-central
|
||||||
serial: true
|
serial: true
|
||||||
plan:
|
plan:
|
||||||
|
|
|
||||||
|
|
@ -15,14 +15,5 @@ run_maven clean install
|
||||||
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
|
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
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
|
cat release-notes-repo/release-notes.md > generated-release-notes/body
|
||||||
body=$( sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g' release-notes-repo/release-notes.md )
|
echo v${version} > generated-release-notes/version
|
||||||
|
|
||||||
curl \
|
|
||||||
-s \
|
|
||||||
-u ${GITHUB_USERNAME}:${GITHUB_PASSWORD} \
|
|
||||||
-H "Content-type:application/json" \
|
|
||||||
-d "{\"tag_name\":\"v${version}\",\"name\":\"v${version}\",\"body\": \"${body}\"}" \
|
|
||||||
-f \
|
|
||||||
-X \
|
|
||||||
POST "https://api.github.com/repos/${GITHUB_ORGANIZATION}/${GITHUB_REPO}/releases" > /dev/null || { echo "Failed to publish" >&2; exit 1; }
|
|
||||||
|
|
@ -4,6 +4,8 @@ inputs:
|
||||||
- name: git-repo
|
- name: git-repo
|
||||||
- name: release-notes-repo
|
- name: release-notes-repo
|
||||||
- name: version
|
- name: version
|
||||||
|
outputs:
|
||||||
|
- name: generated-release-notes
|
||||||
params:
|
params:
|
||||||
GITHUB_ORGANIZATION:
|
GITHUB_ORGANIZATION:
|
||||||
GITHUB_REPO:
|
GITHUB_REPO:
|
||||||
|
|
@ -11,4 +13,4 @@ params:
|
||||||
GITHUB_PASSWORD:
|
GITHUB_PASSWORD:
|
||||||
RELEASE_TYPE:
|
RELEASE_TYPE:
|
||||||
run:
|
run:
|
||||||
path: git-repo/ci/scripts/publish-release-notes.sh
|
path: git-repo/ci/scripts/generate-release-notes.sh
|
||||||
Loading…
Reference in New Issue