Merge branch 'master' into v-andmis/ubuntu/131_remove_duplicate_repos_dotnetcore

This commit is contained in:
Andy Mishechkin
2020-02-26 10:55:34 +04:00
18 changed files with 218 additions and 53 deletions

View File

@@ -1,43 +1,46 @@
# GitHub Actions Virtual Environments # GitHub Actions Virtual Environments
This repository contains the code that we use to create the GitHub Actions [virtual environments](https://help.github.com/en/articles/software-in-virtual-environments-for-github-actions). This repository contains the source used to create the [virtual environments](https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners) for GitHub Actions hosted runners. To file bug reports, or request that tools be added/updated, please [open an issue using the appropriate template](https://github.com/actions/virtual-environments/issues/new/choose). To build a VM machine from this repo's source, see the [instructions](./help/CreateImageAndAzureResources.md).
Please use the issue templates to submit requests and bug reports related to the installed software.
If you need help with how to set up your workflow file or use a specific tool, For general questions about using the virtual environments or writing your Actions workflow, please open requests in the [GitHub Actions Community Forum](https://github.community/t5/GitHub-Actions/bd-p/actions).
check out the [GitHub Actions Community Forum](https://github.community/t5/GitHub-Actions/bd-p/actions).
If you need help with how to build VM machine from source code, check out the [documentation](./help/CreateImageAndAzureResources.md). ## Available Environments
| Environment | YAML Label | Included Software | Latest Release & Rollout Progress |
| --------------------|---------------------|--------------------|---------------------|
| Ubuntu 18.04 | `ubuntu-latest` or `ubuntu-18.04` | [ubuntu-18.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1)
| Ubuntu 16.04 | `ubuntu-16.04` | [ubuntu-16.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&redirect=1) |
| macOS 10.15 | `macos-latest` or `macos-10.15` | [macOS-10.15] | *Coming soon* |
| Windows Server 2019 | `windows-latest` or `windows-2019` | [windows-2019] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1)
| Windows Server 2016 | `windows-2016` | [windows-2016] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1)
## OS's offered ***Looking for other Linux distributions?*** We do not plan to offer other Linux distributions. We recommend using Docker if you'd like to build using other distributions with the hosted virtual environments. Alternatively, you can leverage [self-hosted runners] and fully customize your environment to your needs.
We currently offer Linux, macOS, and Windows virtual environments:
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1) ***Where is the macOS source?*** We are in the process of preparing our macOS source to live in this repo so we can take contributions from the community. Until then, we appreciate your patience and ask you continue to make tool requests by filing issues.
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&redirect=1)
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1)
[![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1)
- **Linux**. We offer Ubuntu 16.04 and Ubuntu 18.04. We do not plan to offer other Linux distributions. If you want to build using other distributions with the hosted virtual environments, we suggest you use Docker. Alternatively, you can host your own VMs and make use of self-hosted runners. ## Software Guidelines
- **macOS**. We offer macOS Catalina 10.15. In general, these are the guidelines we consider when deciding what to pre-install:
- **Windows**. We offer Windows Server 2016 and Windows Server 2019.
## Guidelines for what's installed - Tools and ecosystems that are broadly popular and widely-used will be given priority.
We follow these rough guidelines when deciding what to pre-install: - Recent versions of tools will be given priority over older versions.
- Tools and ecosystems that are more popular and widely-used will be given priority.
- More recent versions of tools will be given priority over older versions.
- Tools and versions that are deprecated or have reached end-of-life will not be added. - Tools and versions that are deprecated or have reached end-of-life will not be added.
- Tools and versions will be removed 6 months after they are deprecated or have reached end-of-life. - Tools and versions will typically be removed 6 months after they are deprecated or have reached end-of-life.
- If a tool can be installed during the build, we will evaluate how much time is saved - If a tool can be installed during the build, we will evaluate how much time is saved
and how much space is used by having the tool pre-installed. and how much space is used by having the tool pre-installed.
## Updates to the virtual environments ## Updates to virtual environments
_Cadence_ *Cadence*
You can expect approximately weekly updates to the software on the virtual environments. We typically deploy weekly updates to the software on the virtual environments.
For some tools, we always install the latest at the time of the deployment; for others, For some tools, we always install the latest at the time of the deployment; for others,
we pin the tool to specific version(s). we pin the tool to specific version(s).
_Notifications_ *Following Along / Change Notifications*
Right now, we don't have a great way for you to know when updates to the images are coming. * **High Impact Changes** (ex. breaking changes, new or deprecated environments) will be posted to the GitHub Changelog on our [blog](https://github.blog/changelog/) and on [twitter](https://twitter.com/GHchangelog).
When we have the code available here, you can watch the Releases for when we generate * **Regular Weekly Rhythm** can be followed by watching [Releases](https://github.com/actions/virtual-environments/releases) to see when we generate candidate environments or deploy new ones. You can also track upcoming changes on the [virtual environment project](https://github.com/actions/virtual-environments/projects/1) to see which issues are under development.
candidate environments, and when we deploy new ones.
[ubuntu-18.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
[ubuntu-16.04]: https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1604-README.md
[Windows-2019]: https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md
[windows-2016]: https://github.com/actions/virtual-environments/blob/master/images/win/Windows2016-Readme.md
[macOS-10.15]: https://github.com/actions/virtual-environments/blob/master/images/macos/macos-10.15-Readme.md
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners

View File

@@ -31,11 +31,12 @@ apt-fast install -y --no-install-recommends \
sudo \ sudo \
telnet \ telnet \
time \ time \
tzdata \
unzip \ unzip \
upx \ upx \
wget \ wget \
zip \ zip \
tzdata zstd
# Electron / VSCode / GitHub Desktop prereqs # Electron / VSCode / GitHub Desktop prereqs
apt-fast install -y --no-install-recommends \ apt-fast install -y --no-install-recommends \
@@ -86,8 +87,9 @@ DocumentInstalledItemIndent "shellcheck"
DocumentInstalledItemIndent "sudo" DocumentInstalledItemIndent "sudo"
DocumentInstalledItemIndent "telnet" DocumentInstalledItemIndent "telnet"
DocumentInstalledItemIndent "time" DocumentInstalledItemIndent "time"
DocumentInstalledItemIndent "tzdata"
DocumentInstalledItemIndent "unzip" DocumentInstalledItemIndent "unzip"
DocumentInstalledItemIndent "upx" DocumentInstalledItemIndent "upx"
DocumentInstalledItemIndent "wget" DocumentInstalledItemIndent "wget"
DocumentInstalledItemIndent "zip" DocumentInstalledItemIndent "zip"
DocumentInstalledItemIndent "tzdata" DocumentInstalledItemIndent "zstd"

View File

@@ -58,6 +58,9 @@ apt-get install -y --no-install-recommends telnet
echo "Install time" echo "Install time"
apt-get install -y --no-install-recommends time apt-get install -y --no-install-recommends time
echo "Install tzdata"
apt-get install -y --no-install-recommends tzdata
echo "Install unzip" echo "Install unzip"
apt-get install -y --no-install-recommends unzip apt-get install -y --no-install-recommends unzip
@@ -70,8 +73,8 @@ apt-get install -y --no-install-recommends wget
echo "Install zip" echo "Install zip"
apt-get install -y --no-install-recommends zip apt-get install -y --no-install-recommends zip
echo "Install tzdata" echo "Install zstd"
apt-get install -y --no-install-recommends tzdata apt-get install -y --no-install-recommends zstd
echo "Install libxkbfile" echo "Install libxkbfile"
apt-get install -y --no-install-recommends libxkbfile-dev apt-get install -y --no-install-recommends libxkbfile-dev
@@ -155,8 +158,9 @@ DocumentInstalledItemIndent "shellcheck"
DocumentInstalledItemIndent "sudo" DocumentInstalledItemIndent "sudo"
DocumentInstalledItemIndent "telnet" DocumentInstalledItemIndent "telnet"
DocumentInstalledItemIndent "time" DocumentInstalledItemIndent "time"
DocumentInstalledItemIndent "tzdata"
DocumentInstalledItemIndent "unzip" DocumentInstalledItemIndent "unzip"
DocumentInstalledItemIndent "upx" DocumentInstalledItemIndent "upx"
DocumentInstalledItemIndent "wget" DocumentInstalledItemIndent "wget"
DocumentInstalledItemIndent "zip" DocumentInstalledItemIndent "zip"
DocumentInstalledItemIndent "tzdata" DocumentInstalledItemIndent "zstd"

View File

@@ -8,14 +8,16 @@
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
LSB_RELEASE=$(lsb_release -rs) LSB_RELEASE=$(lsb_release -rs)
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list' sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list'
# libicu64, which comes with php-intl module, has powershell breaking issue https://github.com/PowerShell/PowerShell/issues/9746
# Fix - install additional libicu65 where the issue is fixed
echo "install libicu65"
apt get install libicu65
# Install Powershell # Install Powershell
apt-get install -y powershell apt-get install -y powershell
# Temp fix based on: https://github.com/PowerShell/PowerShell/issues/9746
sudo apt remove libicu64
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v pwsh; then if ! command -v pwsh; then

View File

@@ -7,13 +7,8 @@
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
LSB_CODENAME=$(lsb_release -cs)
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) # Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $LSB_CODENAME main" | tee /etc/apt/sources.list.d/azure-cli.list curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
apt-key adv --keyserver packages.microsoft.com --recv-keys B02C46DF417A0893
apt-get update
apt-get install -y --no-install-recommends apt-transport-https azure-cli
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"

View File

@@ -7,6 +7,11 @@
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
# AZURE_EXTENSION_DIR shell variable defines where modules are installed
# https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
export AZURE_EXTENSION_DIR=/opt/az/azcliextensions
echo "AZURE_EXTENSION_DIR=$AZURE_EXTENSION_DIR" | tee -a /etc/environment
# install azure devops Cli extension # install azure devops Cli extension
az extension add -n azure-devops az extension add -n azure-devops

View File

@@ -36,7 +36,12 @@ for latest_package in ${LATEST_DOTNET_PACKAGES[@]}; do
echo "Determing if .NET Core ($latest_package) is installed" echo "Determing if .NET Core ($latest_package) is installed"
if ! IsInstalled $latest_package; then if ! IsInstalled $latest_package; then
echo "Could not find .NET Core ($latest_package), installing..." echo "Could not find .NET Core ($latest_package), installing..."
apt-get install $latest_package -y #temporary avoid 3.1.102 installation due to https://github.com/dotnet/aspnetcore/issues/19133
if [ $latest_package != "dotnet-sdk-3.1" ]; then
apt-get install $latest_package -y
else
apt-get install dotnet-sdk-3.1=3.1.101-1 -y
fi
else else
echo ".NET Core ($latest_package) is already installed" echo ".NET Core ($latest_package) is already installed"
fi fi
@@ -52,7 +57,8 @@ for release_url in ${release_urls[@]}; do
sdks=("${sdks[@]}" $(echo "${releases}" | jq '.releases[]' | jq '.sdks[]?' | jq '.version')) sdks=("${sdks[@]}" $(echo "${releases}" | jq '.releases[]' | jq '.sdks[]?' | jq '.version'))
done done
sortedSdks=$(echo ${sdks[@]} | tr ' ' '\n' | grep -v preview | grep -v rc | grep -v display | cut -d\" -f2 | sort -u -r) #temporary avoid 3.1.102 installation due to https://github.com/dotnet/aspnetcore/issues/19133
sortedSdks=$(echo ${sdks[@]} | tr ' ' '\n' | grep -v 3.1.102 | grep -v preview | grep -v rc | grep -v display | cut -d\" -f2 | sort -u -r)
for sdk in $sortedSdks; do for sdk in $sortedSdks; do
url="https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$sdk/dotnet-sdk-$sdk-linux-x64.tar.gz" url="https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$sdk/dotnet-sdk-$sdk-linux-x64.tar.gz"

View File

@@ -0,0 +1,62 @@
#!/bin/bash
################################################################################
## File: julia.sh
## Desc: Installs Julia, and adds Julia to the path
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# This function fetches the latest Julia release from the GitHub API
# Based on https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c
function GetLatestJuliaRelease () {
curl --silent "https://api.github.com/repos/julialang/julia/releases/latest" |
grep '"tag_name":' |
sed -E 's/.*"([^"]+)".*/\1/' |
sed 's/v//' # remove v prefix
}
# This function installs Julia using the specified arguments:
# $1=MajorAndMinorVersion (1.3.1)
# $2=IsDefaultVersion (true or false)
function InstallJulia () {
# Extract Major and Minor version from full version string
juliaMajorAndMinorVersion="$(sed 's/\.[^.]*$//' <<< $1)"
curl -sL "https://julialang-s3.julialang.org/bin/linux/x64/$juliaMajorAndMinorVersion/julia-$1-linux-x86_64.tar.gz" -o "julia-$1-linux-x86_64.tar.gz"
mkdir -p "/usr/local/julia$juliaMajorAndMinorVersion"
tar -C "/usr/local/julia$juliaMajorAndMinorVersion" -xzf "julia-$1-linux-x86_64.tar.gz" --strip-components=1 julia
rm "julia-$1-linux-x86_64.tar.gz"
# If this version of Julia is to be the default version,
# symlink it into the path
if [ "$2" = true ]; then
ln -s "/usr/local/julia$juliaMajorAndMinorVersion/bin/julia" /usr/bin/julia
fi
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
# If this version of Julia is to be the default version,
# check that it has been added to PATH
if [ "$2" = true ]; then
if ! command -v julia; then
echo "Julia was not installed or found on PATH"
exit 1
fi
fi
# Verify output of julia --version
if [ ! "$(/usr/local/julia"$juliaMajorAndMinorVersion"/bin/julia --version)" = "julia version $1" ]; then
echo "Julia was not installed correctly"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Julia ($(julia --version))"
}
InstallJulia "$(GetLatestJuliaRelease)" true

View File

@@ -504,6 +504,12 @@
"{{ template_dir }}/scripts/Installers/Install-Jq.ps1" "{{ template_dir }}/scripts/Installers/Install-Jq.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Zstd.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -765,6 +771,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Jq.ps1" "{{ template_dir }}/scripts/Installers/Validate-Jq.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Zstd.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[

View File

@@ -1,6 +1,6 @@
# Windows Server 2016 # Windows Server 2016
The following software is installed on machines with the 20200211.1 update. The following software is installed on machines with the 20200217.1 update.
Components marked with **\*** have been upgraded since the previous version of the image. Components marked with **\*** have been upgraded since the previous version of the image.
@@ -19,7 +19,7 @@ _Environment:_
## Docker-compose ## Docker-compose
_Version:_ 1.25.3<br/> _Version:_ 1.25.4<br/>
_Environment:_ _Environment:_
* PATH: contains location of docker-compose.exe * PATH: contains location of docker-compose.exe
@@ -30,9 +30,9 @@ _Version:_ 6.2.4 <br/>
## Docker images ## Docker images
The following container images have been cached:
The following container images have been cached: The following container images have been cached:
* mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:a1bd1a6dc00f2734b5071b9295f715f36a653e4b2d259c1a4a4d9e8cd6f3ade8) * mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2016 (Digest: sha256:a1bd1a6dc00f2734b5071b9295f715f36a653e4b2d259c1a4a4d9e8cd6f3ade8)
* mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2016 (Digest: sha256:7e81f462be36ba1362062306426c65547e6d63b2eab0b5583808581081393a79)
* mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:42be24b8810c861cc1b3fe75c5e99f75061cb45fdbae1de46d151c18cc8e6a9a) * mcr.microsoft.com/windows/servercore:ltsc2016 (Digest: sha256:42be24b8810c861cc1b3fe75c5e99f75061cb45fdbae1de46d151c18cc8e6a9a)
* microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c) * microsoft/aspnetcore-build:1.0-2.0 (Digest: sha256:9ecc7c5a8a7a11dca5f08c860165646cb30d084606360a3a72b9cbe447241c0c)
* mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268) * mcr.microsoft.com/windows/nanoserver:10.0.14393.953 (Digest: sha256:fc60bd5ae0e61b334ce1cf1bcbf20c10c36b4c5482a01da319c9c989f9e6e268)
@@ -482,12 +482,12 @@ _Environment:_
## Google Chrome ## Google Chrome
_version:_ _version:_
80.0.3987.106 80.0.3987.106
## Microsoft Edge ## Microsoft Edge
_version:_ _version:_
80.0.361.54 80.0.361.54
## Mozilla Firefox ## Mozilla Firefox
@@ -516,7 +516,7 @@ _Environment:_
#### IE Driver #### IE Driver
_version:_ _version:_
80.0.3987.106 80.0.3987.106
_Environment:_ _Environment:_
@@ -532,7 +532,7 @@ _Environment:_
## Node.js ## Node.js
_Version:_ 12.16.0<br/> _Version:_ 12.16.0<br/>
_Architecture:_ x64<br/> _Architecture:_ x64<br/>
_Environment:_ _Environment:_

View File

@@ -66,7 +66,8 @@ function InstallAllValidSdks()
Invoke-WebRequest -Uri $dotnetChannel.'releases.json' -UseBasicParsing -OutFile "releases-$channelVersion.json" Invoke-WebRequest -Uri $dotnetChannel.'releases.json' -UseBasicParsing -OutFile "releases-$channelVersion.json"
$currentReleases = Get-Content -Path "releases-$channelVersion.json" | ConvertFrom-Json $currentReleases = Get-Content -Path "releases-$channelVersion.json" | ConvertFrom-Json
# filtering out the preview/rc releases # filtering out the preview/rc releases
$currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') } | Sort-Object { [Version] $_.'release-version' } # Remove version 3.1.102 from install list, .NET gave a heads-up that this might cause issues and they are working on a fix. https://github.com/dotnet/aspnetcore/issues/19133
$currentReleases = $currentReleases.'releases' | Where-Object { !$_.'release-version'.Contains('-') -and !$_.'release-version'.Contains('3.1.2') } | Sort-Object { [Version] $_.'release-version' }
ForEach ($release in $currentReleases) ForEach ($release in $currentReleases)
{ {
if ($release.'sdks'.Count -gt 0) if ($release.'sdks'.Count -gt 0)
@@ -77,6 +78,7 @@ function InstallAllValidSdks()
# Remove duplicate entries & preview/rc version from download list # Remove duplicate entries & preview/rc version from download list
# Sort the sdks on version # Sort the sdks on version
$sdks = @($release.'sdk'); $sdks = @($release.'sdk');
$sdks += $release.'sdks' | Where-Object { !$_.'version'.Contains('-') -and !$_.'version'.Equals($release.'sdk'.'version') } $sdks += $release.'sdks' | Where-Object { !$_.'version'.Contains('-') -and !$_.'version'.Equals($release.'sdk'.'version') }
$sdks = $sdks | Sort-Object { [Version] $_.'version' } $sdks = $sdks | Sort-Object { [Version] $_.'version' }

View File

@@ -62,7 +62,7 @@ setx JAVA_HOME_11_X64 $latestJava11Install /M
# Install Java tools # Install Java tools
# Force chocolatey to ignore dependencies on Ant and Maven or else they will download the Oracle JDK # Force chocolatey to ignore dependencies on Ant and Maven or else they will download the Oracle JDK
choco install ant -y -i choco install ant -y -i
choco install maven -y -i --version=3.6.2 choco install maven -y -i --version=3.6.3
choco install gradle -y choco install gradle -y
# Move maven variables to Machine. They may not be in the environment for this script so we need to read them from the registry. # Move maven variables to Machine. They may not be in the environment for this script so we need to read them from the registry.

View File

@@ -0,0 +1,6 @@
################################################################################
## File: Install-Julia.ps1
## Desc: Install Julia
################################################################################
choco install julia -y --ia "/D=C:\Julia"

View File

@@ -32,3 +32,4 @@ npm install -g parcel-bundler
npm install -g --save-dev webpack webpack-cli npm install -g --save-dev webpack webpack-cli
npm install -g yarn npm install -g yarn
npm install -g lerna npm install -g lerna
npm install -g node-sass

View File

@@ -0,0 +1,6 @@
################################################################################
## File: Install-zstd.ps1
## Desc: Install zstd
################################################################################
choco install zstandard -y

View File

@@ -15,6 +15,15 @@ else
throw "DACFx is not installed!" throw "DACFx is not installed!"
} }
if(Get-Command -Name 'SqlLocalDB')
{
$localDbPath = (Get-Command -Name 'SqlLocalDB').Source
}
else
{
throw "SqlLocalDB is not installed!"
}
function Get-DacFxVersion function Get-DacFxVersion
{ {
$regKey = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Data-Tier Application Framework\CurrentVersion" $regKey = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Data-Tier Application Framework\CurrentVersion"
@@ -28,6 +37,7 @@ $SoftwareName = "SQL Server Data Tier Application Framework (x64)"
$Description = @" $Description = @"
_Version:_ $(Get-DacFxVersion)<br/> _Version:_ $(Get-DacFxVersion)<br/>
* SQL Server Express LocalDB is available at $localDbPath
"@ "@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -0,0 +1,25 @@
################################################################################
## File: Validate-Julia.ps1
## Desc: Validate Julia
################################################################################
# Verify that julia.exe is on the path
if(Get-Command -Name 'julia')
{
Write-Host "$(julia --version) is on the path."
}
else
{
Write-Host "Julia is not on the path."
exit 1
}
# Add description of the software to Markdown
$SoftwareName = "Julia (x64)"
$juliaVersion = $(julia --version).split() -match "\d+\.\d+\.\d+"
$Description = @"
_Version:_ $juliaVersion<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -0,0 +1,24 @@
################################################################################
## File: Validate-zstd.ps1
## Desc: Validate zstd
################################################################################
if (Get-Command -Name 'zstd')
{
Write-Host "zstd on path"
}
else
{
Write-Host 'zstd is not on path'
exit 1
}
# Adding description of the software to Markdown
$SoftwareName = "zstd"
$zstdVersion = $(zstd --version).Split(' ')[6].Split(',')[0]
$Description = @"
_Version:_ $zstdVersion<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description