mirror of
https://github.com/actions/runner-images.git
synced 2025-12-11 03:27:05 +00:00
[Ubuntu] Move the list of installed Java versions to toolset (#2393)
* added java to toolset * fixed java-tools and updated tests * fixed java-tools.sh * fixed tests * fixed java.Tests * fixed java versions check * fixed Java.Tests.ps1 Co-authored-by: Nikita Bykov <v-nibyko@microsoft.com>
This commit is contained in:
@@ -7,6 +7,10 @@
|
|||||||
source $HELPER_SCRIPTS/os.sh
|
source $HELPER_SCRIPTS/os.sh
|
||||||
source $HELPER_SCRIPTS/etc-environment.sh
|
source $HELPER_SCRIPTS/etc-environment.sh
|
||||||
|
|
||||||
|
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
|
||||||
|
JAVA_VERSIONS_LIST=$(jq -r '.java.versions | .[]' $toolset)
|
||||||
|
DEFAULT_JDK_VERSION=$(jq -r '.java.default' $toolset)
|
||||||
|
|
||||||
# Install GPG Key for Adopt Open JDK. See https://adoptopenjdk.net/installation.html
|
# Install GPG Key for Adopt Open JDK. See https://adoptopenjdk.net/installation.html
|
||||||
wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add -
|
wget -qO - "https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public" | apt-key add -
|
||||||
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
|
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
|
||||||
@@ -15,24 +19,18 @@ if isUbuntu16 || isUbuntu18 ; then
|
|||||||
# Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/
|
# Install GPG Key for Azul Open JDK. See https://www.azul.com/downloads/azure-only/zulu/
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
|
||||||
apt-add-repository "deb https://repos.azul.com/azure-only/zulu/apt stable main"
|
apt-add-repository "deb https://repos.azul.com/azure-only/zulu/apt stable main"
|
||||||
apt-get update
|
|
||||||
apt-get -y install zulu-7-azure-jdk=\*
|
|
||||||
# Open JDP Adopt does not exist for Ubuntu 20
|
|
||||||
apt-get -y install adoptopenjdk-12-hotspot=\*
|
|
||||||
echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
|
|
||||||
DEFAULT_JDK_VERSION=8
|
|
||||||
defaultLabel8="(default)"
|
|
||||||
fi
|
fi
|
||||||
|
apt-get update
|
||||||
|
|
||||||
if isUbuntu20 ; then
|
for JAVA_VERSION in ${JAVA_VERSIONS_LIST[@]}; do
|
||||||
DEFAULT_JDK_VERSION=11
|
if [[ $JAVA_VERSION == "7" ]]; then
|
||||||
defaultLabel11="(default)"
|
apt-get -y install zulu-7-azure-jdk=\*
|
||||||
apt-get update
|
echo "JAVA_HOME_7_X64=/usr/lib/jvm/zulu-7-azure-amd64" | tee -a /etc/environment
|
||||||
fi
|
else
|
||||||
|
apt-get -y install adoptopenjdk-$JAVA_VERSION-hotspot=\*
|
||||||
# Install only LTS versions.
|
echo "JAVA_HOME_${JAVA_VERSION}_X64=/usr/lib/jvm/adoptopenjdk-${JAVA_VERSION}-hotspot-amd64" | tee -a /etc/environment
|
||||||
apt-get -y install adoptopenjdk-8-hotspot=\*
|
fi
|
||||||
apt-get -y install adoptopenjdk-11-hotspot=\*
|
done
|
||||||
|
|
||||||
# Set Default Java version.
|
# Set Default Java version.
|
||||||
if isUbuntu16; then
|
if isUbuntu16; then
|
||||||
@@ -42,11 +40,6 @@ if isUbuntu16; then
|
|||||||
fi
|
fi
|
||||||
update-java-alternatives -s /usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64
|
update-java-alternatives -s /usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64
|
||||||
|
|
||||||
echo "JAVA_HOME_8_X64=/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64" | tee -a /etc/environment
|
|
||||||
echo "JAVA_HOME_11_X64=/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64" | tee -a /etc/environment
|
|
||||||
if isUbuntu16 || isUbuntu18 ; then
|
|
||||||
echo "JAVA_HOME_12_X64=/usr/lib/jvm/adoptopenjdk-12-hotspot-amd64" | tee -a /etc/environment
|
|
||||||
fi
|
|
||||||
echo "JAVA_HOME=/usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64" | tee -a /etc/environment
|
echo "JAVA_HOME=/usr/lib/jvm/adoptopenjdk-${DEFAULT_JDK_VERSION}-hotspot-amd64" | tee -a /etc/environment
|
||||||
|
|
||||||
# Install Ant
|
# Install Ant
|
||||||
|
|||||||
@@ -1,28 +1,12 @@
|
|||||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -DisableNameChecking
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -DisableNameChecking
|
||||||
|
|
||||||
Describe "Java" {
|
Describe "Java" {
|
||||||
|
[array]$jdkVersions = (Get-ToolsetContent).java.versions | ForEach-Object { @{Version = $_} }
|
||||||
|
$defaultJavaVersion = (Get-ToolsetContent).java.default
|
||||||
|
|
||||||
if (Test-IsUbuntu20) {
|
It "Java <DefaultJavaVersion> is default" -TestCases @{ DefaultJavaVersion = $defaultJavaVersion } {
|
||||||
$defaultJavaVersion = "11"
|
|
||||||
$javaTestCases = @(
|
|
||||||
@{ Version = "1.8" }
|
|
||||||
@{ Version = "11" }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((Test-IsUbuntu16) -or (Test-IsUbuntu18)) {
|
|
||||||
$defaultJavaVersion = "8"
|
|
||||||
$javaTestCases = @(
|
|
||||||
@{ Version = "1.7" }
|
|
||||||
@{ Version = "1.8" }
|
|
||||||
@{ Version = "11" }
|
|
||||||
@{ Version = "12" }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
It "Java <DefaultJavaVersion> is default" -TestCases @{ defaultJavaVersion = $defaultJavaVersion } {
|
|
||||||
$actualJavaPath = Get-EnvironmentVariable "JAVA_HOME"
|
$actualJavaPath = Get-EnvironmentVariable "JAVA_HOME"
|
||||||
$expectedJavaPath = Get-EnvironmentVariable "JAVA_HOME_${defaultJavaVersion}_X64"
|
$expectedJavaPath = Get-EnvironmentVariable "JAVA_HOME_${DefaultJavaVersion}_X64"
|
||||||
|
|
||||||
$actualJavaPath | Should -Not -BeNullOrEmpty
|
$actualJavaPath | Should -Not -BeNullOrEmpty
|
||||||
$expectedJavaPath | Should -Not -BeNullOrEmpty
|
$expectedJavaPath | Should -Not -BeNullOrEmpty
|
||||||
@@ -39,15 +23,17 @@ Describe "Java" {
|
|||||||
"$ToolName -version" | Should -ReturnZeroExitCode
|
"$ToolName -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Java <Version>" -TestCases $javaTestCases {
|
It "Java <Version>" -TestCases $jdkVersions {
|
||||||
$versionNumber = $version.Split(".") | Select-Object -Last 1
|
$javaVariableValue = Get-EnvironmentVariable "JAVA_HOME_${Version}_X64"
|
||||||
|
|
||||||
$javaVariableValue = Get-EnvironmentVariable "JAVA_HOME_${versionNumber}_X64"
|
|
||||||
$javaVariableValue | Should -Not -BeNullOrEmpty
|
$javaVariableValue | Should -Not -BeNullOrEmpty
|
||||||
$javaPath = Join-Path $javaVariableValue "bin/java"
|
$javaPath = Join-Path $javaVariableValue "bin/java"
|
||||||
|
|
||||||
$result = Get-CommandResult "`"$javaPath`" -version"
|
$result = Get-CommandResult "`"$javaPath`" -version"
|
||||||
$result.ExitCode | Should -Be 0
|
$result.ExitCode | Should -Be 0
|
||||||
|
|
||||||
|
if ($Version -eq 7 -or $Version -eq 8) {
|
||||||
|
$Version = "1.${Version}"
|
||||||
|
}
|
||||||
$result.Output | Should -Match ([regex]::Escape("openjdk version `"${Version}."))
|
$result.Output | Should -Match ([regex]::Escape("openjdk version `"${Version}."))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -79,6 +79,12 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"java": {
|
||||||
|
"default": "8",
|
||||||
|
"versions": [
|
||||||
|
"7", "8", "11", "12"
|
||||||
|
]
|
||||||
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"platform_min_version": "10",
|
"platform_min_version": "10",
|
||||||
"build_tools_min_version": "19.1.0",
|
"build_tools_min_version": "19.1.0",
|
||||||
|
|||||||
@@ -79,6 +79,12 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"java": {
|
||||||
|
"default": "8",
|
||||||
|
"versions": [
|
||||||
|
"7", "8", "11", "12"
|
||||||
|
]
|
||||||
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"platform_min_version": "17",
|
"platform_min_version": "17",
|
||||||
"build_tools_min_version": "19.1.0",
|
"build_tools_min_version": "19.1.0",
|
||||||
|
|||||||
@@ -67,6 +67,12 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"java": {
|
||||||
|
"default": "11",
|
||||||
|
"versions": [
|
||||||
|
"8", "11"
|
||||||
|
]
|
||||||
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"platform_min_version": "27",
|
"platform_min_version": "27",
|
||||||
"build_tools_min_version": "27.0.0",
|
"build_tools_min_version": "27.0.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user