mirror of
https://github.com/actions/runner-images.git
synced 2025-12-18 07:46:57 +00:00
[Ubuntu] Remove AdoptOpenJDK (#8022)
This commit is contained in:
committed by
GitHub
parent
da18545f2f
commit
2a1b5d19a3
@@ -1,22 +1,17 @@
|
|||||||
function Get-JavaVersionsTable {
|
function Get-JavaVersionsTable {
|
||||||
$javaToolcacheVersions = Get-ChildItem $env:AGENT_TOOLSDIRECTORY/Java*/* -Directory | Sort-Object { [int]$_.Name.Split(".")[0] }
|
$javaToolcacheVersions = Get-ChildItem $env:AGENT_TOOLSDIRECTORY/Java*/* -Directory | Sort-Object { [int]$_.Name.Split(".")[0] }
|
||||||
|
|
||||||
$existingVersions = $javaToolcacheVersions | ForEach-Object {
|
return $javaToolcacheVersions | ForEach-Object {
|
||||||
$majorVersion = $_.Name.split(".")[0]
|
$majorVersion = $_.Name.split(".")[0]
|
||||||
$fullVersion = $_.Name.Replace("-", "+")
|
$fullVersion = $_.Name.Replace("-", "+")
|
||||||
$defaultJavaPath = $env:JAVA_HOME
|
$defaultJavaPath = $env:JAVA_HOME
|
||||||
$javaPath = Get-Item env:JAVA_HOME_${majorVersion}_X64
|
$javaPath = Get-Item env:JAVA_HOME_${majorVersion}_X64
|
||||||
|
|
||||||
$defaultPostfix = ($javaPath.Value -eq $defaultJavaPath) ? " (default)" : ""
|
$defaultPostfix = ($javaPath.Value -eq $defaultJavaPath) ? " (default)" : ""
|
||||||
$vendorName = ($_.FullName -like '*Java_Adopt_jdk*') ? "Adopt OpenJDK" : "Eclipse Temurin"
|
|
||||||
|
|
||||||
[PSCustomObject] @{
|
[PSCustomObject] @{
|
||||||
"Version" = $fullVersion + $defaultPostfix
|
"Version" = $fullVersion + $defaultPostfix
|
||||||
"Vendor" = $vendorName
|
|
||||||
"Environment Variable" = $javaPath.Name
|
"Environment Variable" = $javaPath.Name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# Return all the vendors which are not Adopt, also look for version 12 of Adopt (Eclipse Temurin does not have this version)
|
|
||||||
$versionsToReturn = $existingVersions | Where-Object {$_.Vendor -notlike "Adopt*" -or $_.Version.Split(".")[0] -eq 12}
|
|
||||||
return $versionsToReturn
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,21 +10,9 @@ source $HELPER_SCRIPTS/etc-environment.sh
|
|||||||
|
|
||||||
createJavaEnvironmentalVariable() {
|
createJavaEnvironmentalVariable() {
|
||||||
local JAVA_VERSION=$1
|
local JAVA_VERSION=$1
|
||||||
local VENDOR_NAME=$2
|
local DEFAULT=$2
|
||||||
local DEFAULT=$3
|
|
||||||
|
|
||||||
case ${VENDOR_NAME} in
|
local INSTALL_PATH_PATTERN="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64"
|
||||||
|
|
||||||
"Adopt" )
|
|
||||||
INSTALL_PATH_PATTERN="/usr/lib/jvm/adoptopenjdk-${JAVA_VERSION}-hotspot-amd64" ;;
|
|
||||||
|
|
||||||
"Temurin-Hotspot" )
|
|
||||||
INSTALL_PATH_PATTERN="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64" ;;
|
|
||||||
*)
|
|
||||||
echo "Unknown vendor"
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [[ ${DEFAULT} == "True" ]]; then
|
if [[ ${DEFAULT} == "True" ]]; then
|
||||||
echo "Setting up JAVA_HOME variable to ${INSTALL_PATH_PATTERN}"
|
echo "Setting up JAVA_HOME variable to ${INSTALL_PATH_PATTERN}"
|
||||||
@@ -38,15 +26,8 @@ createJavaEnvironmentalVariable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enableRepositories() {
|
enableRepositories() {
|
||||||
|
|
||||||
osLabel=$(getOSVersionLabel)
|
osLabel=$(getOSVersionLabel)
|
||||||
|
|
||||||
if isUbuntu20; then
|
|
||||||
# Add Adopt PPA
|
|
||||||
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adopt.gpg
|
|
||||||
echo "deb [signed-by=/usr/share/keyrings/adopt.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ $osLabel main" > /etc/apt/sources.list.d/adopt.list
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add Addoptium PPA
|
# Add Addoptium PPA
|
||||||
# apt-key is deprecated, dearmor and add manually
|
# apt-key is deprecated, dearmor and add manually
|
||||||
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adoptium.gpg
|
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor > /usr/share/keyrings/adoptium.gpg
|
||||||
@@ -56,21 +37,12 @@ osLabel=$(getOSVersionLabel)
|
|||||||
|
|
||||||
installOpenJDK() {
|
installOpenJDK() {
|
||||||
local JAVA_VERSION=$1
|
local JAVA_VERSION=$1
|
||||||
local VENDOR_NAME=$2
|
|
||||||
|
|
||||||
# Install Java from PPA repositories.
|
# Install Java from PPA repositories.
|
||||||
if [[ ${VENDOR_NAME} == "Temurin-Hotspot" ]]; then
|
|
||||||
apt-get -y install temurin-${JAVA_VERSION}-jdk=\*
|
apt-get -y install temurin-${JAVA_VERSION}-jdk=\*
|
||||||
javaVersionPath="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64"
|
javaVersionPath="/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk-amd64"
|
||||||
elif [[ ${VENDOR_NAME} == "Adopt" ]]; then
|
|
||||||
apt-get -y install adoptopenjdk-${JAVA_VERSION}-hotspot=\*
|
|
||||||
javaVersionPath="/usr/lib/jvm/adoptopenjdk-${JAVA_VERSION}-hotspot-amd64"
|
|
||||||
else
|
|
||||||
echo "${VENDOR_NAME} is invalid, valid names are: Temurin-Hotspot and Adopt"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
JAVA_TOOLCACHE_PATH="${AGENT_TOOLSDIRECTORY}/Java_${VENDOR_NAME}_jdk"
|
JAVA_TOOLCACHE_PATH="${AGENT_TOOLSDIRECTORY}/Java_Temurin-Hotspot_jdk"
|
||||||
|
|
||||||
fullJavaVersion=$(cat "${javaVersionPath}/release" | grep "^SEMANTIC" | cut -d "=" -f 2 | tr -d "\"" | tr "+" "-")
|
fullJavaVersion=$(cat "${javaVersionPath}/release" | grep "^SEMANTIC" | cut -d "=" -f 2 | tr -d "\"" | tr "+" "-")
|
||||||
|
|
||||||
@@ -101,25 +73,17 @@ enableRepositories
|
|||||||
apt-get update
|
apt-get update
|
||||||
|
|
||||||
defaultVersion=$(get_toolset_value '.java.default')
|
defaultVersion=$(get_toolset_value '.java.default')
|
||||||
defaultVendor=$(get_toolset_value '.java.default_vendor')
|
jdkVersionsToInstall=($(get_toolset_value ".java.versions[]"))
|
||||||
jdkVendors=($(get_toolset_value '.java.vendors[].name'))
|
|
||||||
|
|
||||||
for jdkVendor in ${jdkVendors[@]}; do
|
|
||||||
|
|
||||||
# get vendor-specific versions
|
|
||||||
jdkVersionsToInstall=($(get_toolset_value ".java.vendors[] | select (.name==\"${jdkVendor}\") | .versions[]"))
|
|
||||||
|
|
||||||
for jdkVersionToInstall in ${jdkVersionsToInstall[@]}; do
|
for jdkVersionToInstall in ${jdkVersionsToInstall[@]}; do
|
||||||
|
installOpenJDK ${jdkVersionToInstall}
|
||||||
|
|
||||||
installOpenJDK ${jdkVersionToInstall} ${jdkVendor}
|
if [[ ${jdkVersionToInstall} == ${defaultVersion} ]]
|
||||||
|
then
|
||||||
isDefaultVersion=False; [[ ${jdkVersionToInstall} == ${defaultVersion} ]] && isDefaultVersion=True
|
createJavaEnvironmentalVariable ${jdkVersionToInstall} True
|
||||||
|
else
|
||||||
if [[ ${jdkVendor} == ${defaultVendor} ]]; then
|
createJavaEnvironmentalVariable ${jdkVersionToInstall} False
|
||||||
createJavaEnvironmentalVariable ${jdkVersionToInstall} ${jdkVendor} ${isDefaultVersion}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
|
|
||||||
# Install Ant
|
# Install Ant
|
||||||
@@ -147,10 +111,8 @@ ln -s /usr/share/gradle-"${gradleLatestVersion}"/bin/gradle /usr/bin/gradle
|
|||||||
echo "GRADLE_HOME=$(find /usr/share -depth -maxdepth 1 -name "gradle*")" | tee -a /etc/environment
|
echo "GRADLE_HOME=$(find /usr/share -depth -maxdepth 1 -name "gradle*")" | tee -a /etc/environment
|
||||||
|
|
||||||
# Delete java repositories and keys
|
# Delete java repositories and keys
|
||||||
rm -f /etc/apt/sources.list.d/adopt.list
|
|
||||||
rm -f /etc/apt/sources.list.d/adoptium.list
|
rm -f /etc/apt/sources.list.d/adoptium.list
|
||||||
rm -f /etc/apt/sources.list.d/zulu.list
|
rm -f /etc/apt/sources.list.d/zulu.list
|
||||||
rm -f /usr/share/keyrings/adopt.gpg
|
|
||||||
rm -f /usr/share/keyrings/adoptium.gpg
|
rm -f /usr/share/keyrings/adoptium.gpg
|
||||||
rm -f /usr/share/keyrings/zulu.gpg
|
rm -f /usr/share/keyrings/zulu.gpg
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,9 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -DisableNameCheckin
|
|||||||
Describe "Java" {
|
Describe "Java" {
|
||||||
$toolsetJava = (Get-ToolsetContent).java
|
$toolsetJava = (Get-ToolsetContent).java
|
||||||
$defaultVersion = $toolsetJava.default
|
$defaultVersion = $toolsetJava.default
|
||||||
$defaultVendor = $toolsetJava.default_vendor
|
$jdkVersions = $toolsetJava.versions
|
||||||
$javaVendors = $toolsetJava.vendors
|
|
||||||
|
|
||||||
[array]$jdkVersions = ($javaVendors | Where-Object {$_.name -eq $defaultVendor}).versions | ForEach-Object { @{Version = $_} }
|
[array]$testCases = $jdkVersions | ForEach-Object { @{Version = $_ } }
|
||||||
[array]$adoptJdkVersions = ($javaVendors | Where-Object {$_.name -eq "Adopt"}).versions | ForEach-Object { @{Version = $_} }
|
|
||||||
|
|
||||||
It "Java <DefaultJavaVersion> is default" -TestCases @{ DefaultJavaVersion = $defaultVersion } {
|
It "Java <DefaultJavaVersion> is default" -TestCases @{ DefaultJavaVersion = $defaultVersion } {
|
||||||
$actualJavaPath = Get-EnvironmentVariable "JAVA_HOME"
|
$actualJavaPath = Get-EnvironmentVariable "JAVA_HOME"
|
||||||
@@ -37,7 +35,7 @@ Describe "Java" {
|
|||||||
"`"$GradlePath`" -version" | Should -ReturnZeroExitCode
|
"`"$GradlePath`" -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Java <Version>" -TestCases $jdkVersions {
|
It "Java <Version>" -TestCases $testCases {
|
||||||
$javaVariableValue = Get-EnvironmentVariable "JAVA_HOME_${Version}_X64"
|
$javaVariableValue = Get-EnvironmentVariable "JAVA_HOME_${Version}_X64"
|
||||||
$javaVariableValue | Should -Not -BeNullOrEmpty
|
$javaVariableValue | Should -Not -BeNullOrEmpty
|
||||||
$javaPath = Join-Path $javaVariableValue "bin/java"
|
$javaPath = Join-Path $javaVariableValue "bin/java"
|
||||||
@@ -49,14 +47,4 @@ Describe "Java" {
|
|||||||
}
|
}
|
||||||
"`"$javaPath`" -version" | Should -MatchCommandOutput ([regex]::Escape("openjdk version `"${Version}."))
|
"`"$javaPath`" -version" | Should -MatchCommandOutput ([regex]::Escape("openjdk version `"${Version}."))
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Java Adopt <Version>" -TestCases $adoptJdkVersions -Skip:(Test-IsUbuntu22) {
|
|
||||||
$javaPath = Join-Path (Get-ChildItem ${env:AGENT_TOOLSDIRECTORY}\Java_Adopt_jdk\${Version}*) "x64\bin\java"
|
|
||||||
"`"$javaPath`" -version" | Should -ReturnZeroExitCode
|
|
||||||
|
|
||||||
if ($Version -eq 8) {
|
|
||||||
$Version = "1.${Version}"
|
|
||||||
}
|
|
||||||
"`"$javaPath`" -version" | Should -MatchCommandOutput ([regex]::Escape("openjdk version `"${Version}."))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,17 +73,7 @@
|
|||||||
],
|
],
|
||||||
"java": {
|
"java": {
|
||||||
"default": "11",
|
"default": "11",
|
||||||
"default_vendor": "Temurin-Hotspot",
|
"versions": [ "8", "11", "17" ],
|
||||||
"vendors": [
|
|
||||||
{
|
|
||||||
"name": "Temurin-Hotspot",
|
|
||||||
"versions": [ "8", "11", "17" ]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Adopt",
|
|
||||||
"versions": [ "8", "11" ]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"maven": "3.8.8"
|
"maven": "3.8.8"
|
||||||
},
|
},
|
||||||
"android": {
|
"android": {
|
||||||
|
|||||||
@@ -66,13 +66,7 @@
|
|||||||
],
|
],
|
||||||
"java": {
|
"java": {
|
||||||
"default": "11",
|
"default": "11",
|
||||||
"default_vendor": "Temurin-Hotspot",
|
"versions": [ "8", "11", "17" ],
|
||||||
"vendors": [
|
|
||||||
{
|
|
||||||
"name": "Temurin-Hotspot",
|
|
||||||
"versions": [ "8", "11", "17" ]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"maven": "3.8.8"
|
"maven": "3.8.8"
|
||||||
},
|
},
|
||||||
"android": {
|
"android": {
|
||||||
|
|||||||
Reference in New Issue
Block a user