Add GraalVM Community Edition & GraalVM Native Image (#2330)

* added graalvm

* added native-image and updated SoftwareReport

* rework GraalVM installation

* fixed graalvm installation

* Updated SoftwareReport.Generator

* updated graalvm.sh

* fixed graalvm.sh

* fixed graalvm.sh

* removed rm command

* resolved comments

* fixed softwarereport for GraalVM

* added invoke_tests for graalvm

* fixed tests for graalvm

* fixed GraalVM tests and SoftwareReport

* added source  etc-environment.sh to graalvm.sh

* fixed GraalVM tests

* resolved comments

* fixed graalVM SoftwareReport

* added GRAALVM_11_ROOT variable

* fixed comment for env variable

Co-authored-by: Nikita Bykov <v-nibyko@microsoft.com>
This commit is contained in:
Nikita Bykov
2021-01-13 10:45:39 +03:00
committed by GitHub
parent 2882a9fde3
commit b42d8566f9
5 changed files with 55 additions and 2 deletions

View File

@@ -284,3 +284,18 @@ function Get-PipxVersion {
$pipxVersion = $Matches.Version
return "Pipx $pipxVersion"
}
function Get-GraalVMVersion {
$version = & "$env:GRAALVM_11_ROOT\bin\java" --version | Select-String -Pattern "GraalVM" | Take-OutputPart -Part 5,6
return $version
}
function Build-GraalVMTable {
$version = Get-GraalVMVersion
$envVariables = "GRAALVM_11_ROOT"
return [PSCustomObject] @{
"Version" = $version
"Environment variables" = $envVariables
}
}

View File

@@ -157,6 +157,12 @@ $markdown += New-MDHeader "Java" -Level 3
$markdown += Get-JavaVersions | New-MDTable
$markdown += New-MDNewLine
if (Test-IsUbuntu20) {
$markdown += New-MDHeader "GraalVM" -Level 3
$markdown += Build-GraalVMTable | New-MDTable
$markdown += New-MDNewLine
}
$markdown += New-MDHeader "PHP" -Level 3
$markdown += Build-PHPTable | New-MDTable
$markdown += New-MDNewLine

View File

@@ -0,0 +1,21 @@
#!/bin/bash -e
source $HELPER_SCRIPTS/install.sh
source $HELPER_SCRIPTS/etc-environment.sh
# Install GraalVM
GRAALVM_ROOT=/usr/local/graalvm
export GRAALVM_11_ROOT=$GRAALVM_ROOT/graalvm-ce-java11*
url=$(curl -s https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest | jq -r '.assets[].browser_download_url | select(contains("graalvm-ce-java11-linux-amd64"))')
download_with_retries "$url" "/tmp" "graalvm-archive.tar.gz"
mkdir $GRAALVM_ROOT
tar -xzf "/tmp/graalvm-archive.tar.gz" -C $GRAALVM_ROOT
# Set environment variable for GraalVM root
setEtcEnvironmentVariable "GRAALVM_11_ROOT" $GRAALVM_11_ROOT
# Install Native Image
$GRAALVM_11_ROOT/bin/gu install native-image
invoke_tests "Tools" "GraalVM"

View File

@@ -299,6 +299,16 @@ Describe "Phantomjs" {
}
}
Describe "GraalVM" -Skip:(-not (Test-IsUbuntu20)) {
It "graalvm" {
'$GRAALVM_11_ROOT/bin/java -version' | Should -ReturnZeroExitCode
}
It "native-image" {
'$GRAALVM_11_ROOT/bin/native-image --version' | Should -ReturnZeroExitCode
}
}
Describe "Containers" -Skip:(Test-IsUbuntu16) {
$testCases = @("podman", "buildah", "skopeo") | ForEach-Object { @{ContainerCommand = $_} }

View File

@@ -230,7 +230,8 @@
"{{template_dir}}/scripts/installers/netlify.sh",
"{{template_dir}}/scripts/installers/android.sh",
"{{template_dir}}/scripts/installers/pypy.sh",
"{{template_dir}}/scripts/installers/python.sh"
"{{template_dir}}/scripts/installers/python.sh",
"{{template_dir}}/scripts/installers/graalvm.sh"
],
"environment_vars": [
"HELPER_SCRIPTS={{user `helper_script_folder`}}",