1
1
#! /bin/bash
2
2
3
3
latest_version=$( curl -I -s https://github.com/docker/docker-ce/releases/latest | grep " location:" | awk ' {n=split($0, parts, "/"); print substr(parts[n],2);}' | awk ' {$1=$1;print}' | tr -d ' \r' | tr -d ' \n' )
4
- title_prefix=" Upgrade CI to Docker"
5
-
6
- milestone_number=$( curl -s https://api.github.com/repos/${GITHUB_ORGANIZATION} /${GITHUB_REPO} /milestones\? state\= open | jq -c --arg MILESTONE " $MILESTONE " ' .[] | select(.title==$MILESTONE)' | jq -r ' .number' )
7
-
8
- existing_upgrade_issues=$( curl -s https://api.github.com/repos/${GITHUB_ORGANIZATION} /${GITHUB_REPO} /issues\? labels\= type:%20task\& state\= open\& creator\= spring-buildmaster\& milestone\= ${milestone_number} | jq -c --arg TITLE_PREFIX " $title_prefix " ' .[] | select(.pull_request != null) | select(.title | startswith($TITLE_PREFIX))' )
9
-
10
- if [[ ${existing_upgrade_issues} = " " ]]; then
11
- git clone git-repo git-repo-updated > /dev/null
12
- else
13
- git clone git-repo-ci-docker git-repo-updated > /dev/null
14
- echo " Pull request already exists."
15
- exit 0
16
- fi
17
4
18
5
if [[ $latest_version =~ (beta| rc) ]]; then
19
6
echo " Skip pre-release versions"
20
7
exit 0;
21
8
fi
22
9
10
+ title_prefix=" Upgrade CI to Docker"
11
+ milestone_number=$( curl -s https://api.github.com/repos/${GITHUB_ORGANIZATION} /${GITHUB_REPO} /milestones\? state\= open | jq -c --arg MILESTONE " $MILESTONE " ' .[] | select(.title==$MILESTONE)' | jq -r ' .number' )
12
+ existing_upgrade_issues=$( curl -s https://api.github.com/repos/${GITHUB_ORGANIZATION} /${GITHUB_REPO} /issues\? labels\= type:%20task\& state\= open\& creator\= spring-buildmaster\& milestone\= ${milestone_number} | jq -c --arg TITLE_PREFIX " $title_prefix " ' .[] | select(.title | startswith($TITLE_PREFIX))' )
13
+
23
14
latest=" https://download.docker.com/linux/static/stable/x86_64/docker-$latest_version .tgz"
24
15
current=$( git-repo/ci/images/get-docker-url.sh )
25
16
@@ -28,12 +19,17 @@ if [[ $current = $latest ]]; then
28
19
exit 0;
29
20
fi
30
21
31
- pushd git-repo-updated > /dev/null
32
- git config user.name " Spring Buildmaster" > /dev/null
33
- git config user.email
" [email protected] " > /dev/null
34
- sed -i " s/version=.*/version=\" $latest_version \" /" ci/images/get-docker-url.sh
35
- git add ci/images/get-docker-url.sh > /dev/null
36
- commit_message=" $title_prefix $latest_version "
37
- git commit -m " $commit_message " > /dev/null
38
- popd
39
- echo ${commit_message} > commit-details/message
22
+ ISSUE_TITLE=" $title_prefix $latest_version "
23
+
24
+ if [[ ${existing_upgrade_issues} = " " ]]; then
25
+ curl \
26
+ -s \
27
+ -u ${GITHUB_USERNAME} :${GITHUB_PASSWORD} \
28
+ -H " Content-type:application/json" \
29
+ -d " {\" title\" :\" ${ISSUE_TITLE} \" ,\" milestone\" :\" ${milestone_number} \" ,\" body\" : \" ${latest} \" ,\" labels\" :[\" status: waiting-for-triage\" ,\" type: task\" ]}" \
30
+ -f \
31
+ -X \
32
+ POST " https://api.github.com/repos/${GITHUB_ORGANIZATION} /${GITHUB_REPO} /issues" > /dev/null || { echo " Failed to create issue" >&2 ; exit 1; }
33
+ else
34
+ echo " Issue already exists."
35
+ fi
0 commit comments