| 
									
										
										
										
											2018-12-11 11:20:11 +08:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-25 21:26:41 +08:00
										 |  |  | report_error() { | 
					
						
							|  |  |  | 	echo "Script exited with error $1 on line $2" | 
					
						
							|  |  |  | 	exit 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | trap 'report_error $? $LINENO' ERR | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-11 11:20:11 +08:00
										 |  |  | case "$JDK_VERSION" in | 
					
						
							| 
									
										
										
										
											2021-07-16 19:52:57 +08:00
										 |  |  | 	java17) | 
					
						
							| 
									
										
										
										
											2022-05-21 13:36:13 +08:00
										 |  |  | 		 BASE_URL="https://api.bell-sw.com/v1/liberica/releases?version-feature=17" | 
					
						
							| 
									
										
										
										
											2022-06-17 21:29:04 +08:00
										 |  |  | 		 ISSUE_TITLE="Upgrade Java 17 version in CI image and .sdkmanrc" | 
					
						
							| 
									
										
										
										
											2021-07-16 19:52:57 +08:00
										 |  |  | 	;; | 
					
						
							| 
									
										
										
										
											2023-03-24 23:59:45 +08:00
										 |  |  | 	java20) | 
					
						
							|  |  |  | 		 BASE_URL="https://api.bell-sw.com/v1/liberica/releases?version-feature=20" | 
					
						
							|  |  |  | 		 ISSUE_TITLE="Upgrade Java 20 version in CI image" | 
					
						
							|  |  |  | 	;; | 
					
						
							| 
									
										
										
										
											2023-09-22 14:53:42 +08:00
										 |  |  | 	java21) | 
					
						
							|  |  |  | 		 BASE_URL="https://api.bell-sw.com/v1/liberica/releases?version-feature=21" | 
					
						
							|  |  |  | 		 ISSUE_TITLE="Upgrade Java 21 version in CI image" | 
					
						
							|  |  |  | 	;; | 
					
						
							| 
									
										
										
										
											2018-12-11 11:20:11 +08:00
										 |  |  | 	*) | 
					
						
							|  |  |  | 		echo $"Unknown java version" | 
					
						
							|  |  |  | 		exit 1; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-21 13:36:13 +08:00
										 |  |  | response=$( curl -s ${BASE_URL}\&arch\=x86\&bitness\=64\&bundle-type\=jdk\&os\=linux\&package-type\=tar.gz\&version-modifier\=latest ) | 
					
						
							|  |  |  | latest=$( jq -r '.[0].downloadUrl' <<< "$response" ) | 
					
						
							| 
									
										
										
										
											2020-06-25 21:26:41 +08:00
										 |  |  | if [[ ${latest} = "null" || ${latest} = "" ]]; then | 
					
						
							|  |  |  | 	echo "Could not parse JDK response: $response" | 
					
						
							|  |  |  | 	exit 1; | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2018-12-11 11:20:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | current=$( git-repo/ci/images/get-jdk-url.sh ${JDK_VERSION} ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [[ $current = $latest ]]; then | 
					
						
							|  |  |  | 	echo "Already up-to-date" | 
					
						
							|  |  |  | 	exit 0; | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-20 06:04:38 +08:00
										 |  |  | milestone_response=$( curl -s -u ${GITHUB_USERNAME}:${GITHUB_PASSWORD} https://api.github.com/repos/${GITHUB_ORGANIZATION}/${GITHUB_REPO}/milestones\?state\=open ) | 
					
						
							| 
									
										
										
										
											2020-06-25 21:26:41 +08:00
										 |  |  | milestone_result=$( jq -r -c --arg MILESTONE "$MILESTONE" '.[] | select(has("title")) | select(.title==$MILESTONE)' <<< "$milestone_response" ) | 
					
						
							|  |  |  | if [[ ${milestone_result} = "null" || ${milestone_result} = "" ]]; then | 
					
						
							|  |  |  | 	echo "Could not parse milestone: $milestone_response" | 
					
						
							|  |  |  | 	exit 1; | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | milestone_number=$( jq -r '.number' <<< "$milestone_result" ) | 
					
						
							| 
									
										
										
										
											2023-01-20 06:17:30 +08:00
										 |  |  | existing_tasks=$( curl -u ${GITHUB_USERNAME}:${GITHUB_PASSWORD} -s https://api.github.com/repos/${GITHUB_ORGANIZATION}/${GITHUB_REPO}/issues\?labels\=type:%20task\&state\=open\&creator\=spring-builds\&milestone\=${milestone_number} ) | 
					
						
							| 
									
										
										
										
											2020-06-25 21:26:41 +08:00
										 |  |  | existing_jdk_issues=$( jq -r -c --arg TITLE "$ISSUE_TITLE" '.[] | select(has("title")) | select(.title==$TITLE)' <<< "$existing_tasks" ) | 
					
						
							| 
									
										
										
										
											2019-02-14 07:33:04 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | if [[ ${existing_jdk_issues} = "" ]]; then | 
					
						
							| 
									
										
										
										
											2018-12-11 11:20:11 +08:00
										 |  |  | 	curl \
 | 
					
						
							|  |  |  | 	-s \
 | 
					
						
							|  |  |  | 	-u ${GITHUB_USERNAME}:${GITHUB_PASSWORD} \
 | 
					
						
							|  |  |  | 	-H "Content-type:application/json" \
 | 
					
						
							| 
									
										
										
										
											2020-05-21 05:32:48 +08:00
										 |  |  | 	-d "{\"title\":\"${ISSUE_TITLE}\",\"milestone\":\"${milestone_number}\",\"body\": \"${latest}\",\"labels\":[\"type: task\"]}"  \
 | 
					
						
							| 
									
										
										
										
											2018-12-11 11:20:11 +08:00
										 |  |  | 	-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." | 
					
						
							| 
									
										
										
										
											2019-06-05 05:21:09 +08:00
										 |  |  | fi |