mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2025-12-20 06:29:50 +00:00
Add Julia 1.3.1
This commit is contained in:
62
images/win/scripts/Installers/Install-Julia.ps1
Normal file
62
images/win/scripts/Installers/Install-Julia.ps1
Normal file
@@ -0,0 +1,62 @@
|
||||
################################################################################
|
||||
## File: Install-Julia.ps1
|
||||
## Desc: Install Julia
|
||||
################################################################################
|
||||
|
||||
Import-Module -Name ImageHelpers -Force
|
||||
function Install-JuliaVersion
|
||||
{
|
||||
Param
|
||||
(
|
||||
[String]$juliaVersion,
|
||||
[Switch]$addToDefaultPath
|
||||
)
|
||||
|
||||
# Split versions.
|
||||
$juliaMajorVersion = $juliaVersion.split(".")[0] + "." + $juliaVersion.split(".")[1]
|
||||
|
||||
# Download the Julia installer.
|
||||
Write-Host "Downloading Julia $juliaVersion..."
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
Invoke-WebRequest -UseBasicParsing -Uri "https://julialang-s3.julialang.org/bin/winnt/x64/$juliaMajorVersion/julia-$juliaVersion-win64.exe" -OutFile "julia-$juliaVersion-win64.exe"
|
||||
|
||||
# Install Julia.
|
||||
# The installer will change in Julia 1.4. For future-proofing, a version check is run.
|
||||
if ( $juliaMajorVersion -ge "1.4")
|
||||
{
|
||||
Start-Process -FilePath "julia-$juliaVersion-win64.exe" -ArgumentList "/SILENT /dir=C:\Julia" -NoNewWindow -Wait
|
||||
}
|
||||
else
|
||||
{
|
||||
Start-Process -FilePath "julia-$juliaVersion-win64.exe" -ArgumentList "/S /D=C:\Julia" -NoNewWindow -Wait
|
||||
}
|
||||
|
||||
# Delete unnecessary files to conserve space.
|
||||
Write-Host "Deleting downloaded installer..."
|
||||
Remove-Item "julia-$juliaVersion-win64.exe"
|
||||
|
||||
# Make this the default version of Julia?
|
||||
if ($addToDefaultPath)
|
||||
{
|
||||
Write-Host "Adding Julia $juliaVersion to the path..."
|
||||
# Add the Julia binaries to the path.
|
||||
Add-MachinePathItem "C:\Julia\Julia-$juliaVersion\bin" | Out-Null
|
||||
}
|
||||
|
||||
# Done
|
||||
Write-Host "Done installing Julia $juliaVersion."
|
||||
return "C:\Julia\Julia-$juliaVersion"
|
||||
}
|
||||
|
||||
# Install Julia
|
||||
$juliaVersionsToInstall = $env:JULIA_VERSIONS.split(",")
|
||||
|
||||
foreach($julia in $juliaVersionsToInstall) {
|
||||
Write-Host "Installing Julia ${julia}"
|
||||
if($julia -eq $env:JULIA_DEFAULT) {
|
||||
$installDirectory = Install-JuliaVersion -juliaVersion $julia -addToDefaultPath
|
||||
} else {
|
||||
$installDirectory = Install-JuliaVersion -juliaVersion $julia
|
||||
}
|
||||
setx $envName "$installDirectory" /M
|
||||
}
|
||||
Reference in New Issue
Block a user