mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Automate Ubuntu base image upgrade
See gh-20355
This commit is contained in:
parent
3df446227e
commit
4136300235
@ -163,6 +163,21 @@ jobs:
|
||||
GITHUB_USERNAME: ((github-username))
|
||||
JDK_VERSION: java11
|
||||
image: spring-boot-ci-image
|
||||
- name: detect-ubuntu-image-updates
|
||||
plan:
|
||||
- get: git-repo
|
||||
- get: every-wednesday
|
||||
trigger: true
|
||||
- get: spring-boot-ci-image
|
||||
- do:
|
||||
- task: detect-ubuntu-image-updates
|
||||
file: git-repo/ci/tasks/detect-ubuntu-image-updates.yml
|
||||
params:
|
||||
GITHUB_REPO: spring-boot
|
||||
GITHUB_ORGANIZATION: spring-projects
|
||||
GITHUB_PASSWORD: ((github-password))
|
||||
GITHUB_USERNAME: ((github-username))
|
||||
image: spring-boot-ci-image
|
||||
- name: build
|
||||
serial: true
|
||||
public: true
|
||||
@ -525,6 +540,6 @@ groups:
|
||||
- name: "Release"
|
||||
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "sync-to-maven-central"]
|
||||
- name: "CI Images"
|
||||
jobs: ["build-spring-boot-ci-images", "detect-jdk-updates"]
|
||||
jobs: ["build-spring-boot-ci-images", "detect-jdk-updates", "detect-ubuntu-image-updates"]
|
||||
- name: "Build Pull Requests"
|
||||
jobs: ["build-pull-requests"]
|
||||
|
28
ci/scripts/detect-ubuntu-image-updates.sh
Executable file
28
ci/scripts/detect-ubuntu-image-updates.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
ISSUE_TITLE="Upgrade Ubuntu version in CI images"
|
||||
|
||||
ubuntu="bionic"
|
||||
latest=$( curl -s "https://partner-images.canonical.com/core/$ubuntu/current/unpacked/build-info.txt" | awk '{split($0, parts, "="); print parts[2]}' )
|
||||
current=$( grep "ubuntu:$ubuntu" git-repo/ci/images/spring-boot-ci-image/Dockerfile | awk '{split($0, parts, "-"); print parts[2]}' )
|
||||
|
||||
if [[ $current = $latest ]]; then
|
||||
echo "Already up-to-date"
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
existing_tasks=$( curl -s https://api.github.com/repos/${GITHUB_ORGANIZATION}/${GITHUB_REPO}/issues\?labels\=type:%20task\&state\=open\&creator\=spring-buildmaster )
|
||||
existing_upgrade_issues=$( echo "$existing_tasks" | jq -c --arg TITLE "$ISSUE_TITLE" '.[] | select(.title==$TITLE)' )
|
||||
|
||||
if [[ ${existing_upgrade_issues} = "" ]]; then
|
||||
curl \
|
||||
-s \
|
||||
-u ${GITHUB_USERNAME}:${GITHUB_PASSWORD} \
|
||||
-H "Content-type:application/json" \
|
||||
-d "{\"title\":\"${ISSUE_TITLE}\",\"body\": \"Upgrade to ubuntu:${ubuntu}-${latest}\",\"labels\":[\"status: waiting-for-triage\",\"type: task\"]}" \
|
||||
-f \
|
||||
-X \
|
||||
POST "https://api.github.com/repos/${GITHUB_ORGANIZATION}/${GITHUB_REPO}/issues" > /dev/null || { echo "Failed to create issue" >&2; exit 1; }
|
||||
else
|
||||
echo "Issue already exists."
|
||||
fi
|
11
ci/tasks/detect-ubuntu-image-updates.yml
Normal file
11
ci/tasks/detect-ubuntu-image-updates.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
platform: linux
|
||||
inputs:
|
||||
- name: git-repo
|
||||
params:
|
||||
GITHUB_REPO:
|
||||
GITHUB_ORGANIZATION:
|
||||
GITHUB_PASSWORD:
|
||||
GITHUB_USERNAME:
|
||||
run:
|
||||
path: git-repo/ci/scripts/detect-ubuntu-image-updates.sh
|
Loading…
Reference in New Issue
Block a user