update boost toolset and notes, remove BOOST_ROOT

This commit is contained in:
Aleksandr Chebotov
2020-03-17 09:47:22 +03:00
parent 8254ea02af
commit 80449e25a0
52 changed files with 728 additions and 864 deletions

View File

@@ -55,6 +55,14 @@ jobs:
-ImageName ${{ parameters.image_type }} `
-AccessToken $(RELEASE_TARGET_TOKEN)
- task: PowerShell@2
displayName: 'Output Readme file content'
inputs:
targetType: 'inline'
script: |
$docsPath = Get-ChildItem -Path "images" -Include ${{ parameters.image_readme_name }} -Recurse -Depth 1 | Select-Object -First 1
Get-Content -Path $docsPath
- task: PowerShell@2
displayName: 'Clean up resources'
condition: always()

View File

@@ -17,3 +17,4 @@ jobs:
- template: image-generation.yml
parameters:
image_type: ubuntu1604
image_readme_name: Ubuntu1604-README.md

View File

@@ -17,3 +17,4 @@ jobs:
- template: image-generation.yml
parameters:
image_type: ubuntu1804
image_readme_name: Ubuntu1804-README.md

View File

@@ -17,3 +17,4 @@ jobs:
- template: image-generation.yml
parameters:
image_type: Windows2016-Azure
image_readme_name: Windows2016-Readme.md

View File

@@ -17,3 +17,4 @@ jobs:
- template: image-generation.yml
parameters:
image_type: Windows2019-Azure
image_readme_name: Windows2019-Readme.md

View File

@@ -36,6 +36,9 @@ $SensitiveData = @(
': ->'
)
Write-Host "Show Packer Version"
packer --version
Write-Host "Build $Image VM"
packer build -var "capture_name_prefix=$ResourcesNamePrefix" `
-var "client_id=$ClientId" `

View File

@@ -1,16 +1,11 @@
# Ubuntu 16.04.6 LTS
The following software is installed on machines with the 20200301.1 update.
The following software is installed on machines with the 20200308.0 update.
***
- 7-Zip 9.20
- Ansible (ansible 2.9.4)
- Ansible (ansible 2.9.6)
- AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.1.0)
- Azure CLI (azure-devops 0.17.0)
- Bazel (Build label: 2.1.1
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Feb 21 14:56:47 2020 (1582297007)
Build timestamp: 1582297007
Build timestamp as int: 1582297007)
- Basic CLI:
- curl
- dnsutils
@@ -37,7 +32,7 @@ Build timestamp as int: 1582297007)
- wget
- zip
- zstd
- AWS CLI (aws-cli/1.18.11 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.11)
- AWS CLI (aws-cli/1.18.16 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.16)
- build-essential
- Clang 6.0 (6.0.1)
- Clang 8 (8.0.1)
@@ -107,7 +102,7 @@ Build timestamp as int: 1582297007)
- 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4)
- Firefox (Mozilla Firefox 73.0.1)
- Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable
- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.4.0
- GNU C++ 8.3.0
- GNU C++ 9.2.1
@@ -120,9 +115,9 @@ Build timestamp as int: 1582297007)
- Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 linux/amd64)
- Google Chrome (Google Chrome 80.0.3987.122 )
- Chromedriver (ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (282.0.0)
- Google Chrome (Google Chrome 80.0.3987.132 )
- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (283.0.0)
- Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
@@ -140,21 +135,22 @@ compiled using version 3.0.2.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3)
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
- Heroku (heroku/7.38.2 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.46.0 (rel))
- Heroku (heroku/7.39.0 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.47.0 (rel))
- ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242")
- Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS)
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.9.6 compiled on July 20 2018)
- Gradle 6.2.1
- Gradle 6.2.2
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64)
- kubectl (Client Version: v1.17.3)
- helm (Client: v2.16.3+g1ee0254)
- Leiningen (Leiningen 2.9.2 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
- helm (v3.1.1+gafe7058)
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.4.1))
- Miniconda (conda 4.7.12)
- Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:35 UTC 2020))
@@ -168,9 +164,11 @@ Local version: Unknown)
- n (6.3.1)
- Parcel (1.12.4)
- TypeScript (Version 3.8.3)
- Webpack (4.41.6)
- Webpack (4.42.0)
- Webpack CLI (3.3.11)
- Yarn (1.22.0)
- Yarn (1.22.1)
- Bazel (bazel 2.2.0)
- Bazelisk (1.3.0)
- PhantomJS (2.1.1)
- PHP 5.6 (PHP 5.6.40-24+ubuntu16.04.1+deb.sury.org+1 (cli) )
- PHP 7.0 (PHP 7.0.33-23+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:20:42) ( NTS ))
@@ -182,7 +180,7 @@ Local version: Unknown)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate
- psql (PostgreSQL) 9.5.19
- Powershell (PowerShell 6.2.4)
- Powershell (PowerShell 7.0.0)
- ruby (2.3.1p112)
- gem (3.1.2)
- rustup (1.21.1)
@@ -195,11 +193,13 @@ Local version: Unknown)
the
0.53.1)
- cbindgen (0.13.1)
- Julia (julia version 1.3.1)
- sbt (1.3.8)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519))
- Terraform (Terraform v0.12.21)
- Terraform (Terraform v0.12.23)
- Packer (1.5.4)
- Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (17.0.4)
- Google Repository 58
@@ -227,6 +227,7 @@ the
- Android SDK Platform 15
- Android SDK Platform 10
- Android SDK Patch Applier v4
- Android SDK Build-Tools 29.0.3
- Android SDK Build-Tools 29.0.2
- Android SDK Build-Tools 29.0.0
- Android SDK Build-Tools 28.0.3

View File

@@ -1,16 +1,11 @@
# Ubuntu 18.04.4 LTS
The following software is installed on machines with the 20200301.1 update.
The following software is installed on machines with the 20200308.0 update.
***
- 7-Zip 16.02
- Ansible (ansible 2.9.4)
- Ansible (ansible 2.9.6)
- AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.1.0)
- Azure CLI (azure-devops 0.17.0)
- Bazel (Build label: 2.1.1
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Feb 21 14:56:47 2020 (1582297007)
Build timestamp: 1582297007
Build timestamp as int: 1582297007)
- Basic CLI:
- curl
- dnsutils
@@ -37,7 +32,7 @@ Build timestamp as int: 1582297007)
- wget
- zip
- zstd
- AWS CLI (aws-cli/1.18.11 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.11)
- AWS CLI (aws-cli/1.18.16 Python/2.7.17 Linux/5.0.0-1032-azure botocore/1.15.16)
- build-essential
- Clang 6.0 (6.0.1)
- Clang 8 (8.0.1)
@@ -107,7 +102,7 @@ Build timestamp as int: 1582297007)
- 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.6.4)
- Firefox (Mozilla Firefox 73.0.1)
- Geckodriver (); Gecko Driver is available via GECKOWEBDRIVER environment variable
- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.4.0
- GNU C++ 8.3.0
- GNU C++ 9.2.1
@@ -118,9 +113,9 @@ Build timestamp as int: 1582297007)
- Go 1.11 (go version go1.11.12 linux/amd64)
- Go 1.12 (go version go1.12.7 linux/amd64)
- Go 1.13 (go version go1.13 linux/amd64)
- Google Chrome (Google Chrome 80.0.3987.122 )
- Chromedriver (ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882})); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (282.0.0)
- Google Chrome (Google Chrome 80.0.3987.132 )
- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (283.0.0)
- Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0
@@ -138,21 +133,22 @@ compiled using version 3.0.2.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.6.5)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3)
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
- Heroku (heroku/7.38.2 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.46.0 (rel))
- Heroku (heroku/7.39.0 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.47.0 (rel))
- ImageMagick
- Azul Zulu OpenJDK (7) (openjdk version "1.7.0_252")
- Azul Zulu OpenJDK (8) (openjdk version "1.8.0_242")
- Azul Zulu OpenJDK (11) (openjdk version "11.0.6" 2020-01-14 LTS)
- Azul Zulu OpenJDK (12) (openjdk version "12.0.2" 2019-07-16)
- Ant (Apache Ant(TM) version 1.10.5 compiled on March 28 2019)
- Gradle 6.2.1
- Gradle 6.2.2
- Maven (Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f))
- Kind (kind v0.7.0 go1.13.6 linux/amd64)
- kubectl (Client Version: v1.17.3)
- helm (Client: v2.16.3+g1ee0254)
- Leiningen (Leiningen 2.9.2 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
- helm (v3.1.1+gafe7058)
- Leiningen (Leiningen 2.9.1 on Java 1.8.0_242 OpenJDK 64-Bit Server VM)
- Mercurial (Mercurial Distributed SCM (version 4.5.3))
- Miniconda (conda 4.7.12)
- Mono (Mono JIT compiler version 6.8.0.105 (tarball Tue Feb 4 21:20:20 UTC 2020))
@@ -166,9 +162,11 @@ Local version: Unknown)
- n (6.3.1)
- Parcel (1.12.4)
- TypeScript (Version 3.8.3)
- Webpack (4.41.6)
- Webpack (4.42.0)
- Webpack CLI (3.3.11)
- Yarn (1.22.0)
- Yarn (1.22.1)
- Bazel (bazel 2.2.0)
- Bazelisk (1.3.0)
- PhantomJS (2.1.1)
- PHP 7.1 (PHP 7.1.33-12+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:22:16) ( NTS ))
- PHP 7.2 (PHP 7.2.28-3+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 23 2020 07:23:25) ( NTS ))
@@ -178,7 +176,7 @@ Local version: Unknown)
- PHPUnit (PHPUnit 7.5.20 by Sebastian Bergmann and contributors.)
- Pollinate
- psql (PostgreSQL) 10.12
- Powershell (PowerShell 6.2.4)
- Powershell (PowerShell 7.0.0)
- ruby (2.5.1p57)
- gem (3.1.2)
- rustup (1.21.1)
@@ -191,11 +189,13 @@ Local version: Unknown)
the
0.53.1)
- cbindgen (0.13.1)
- Julia (julia version 1.3.1)
- sbt (1.3.8)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server
- Subversion (svn, version 1.9.7 (r1800392))
- Terraform (Terraform v0.12.21)
- Terraform (Terraform v0.12.23)
- Packer (1.5.4)
- Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (17.0.4)
- Google Repository 58
@@ -219,6 +219,7 @@ the
- Android SDK Platform 19
- Android SDK Platform 17
- Android SDK Patch Applier v4
- Android SDK Build-Tools 29.0.3
- Android SDK Build-Tools 29.0.2
- Android SDK Build-Tools 29.0.0
- Android SDK Build-Tools 28.0.3

View File

@@ -82,6 +82,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \
"add-ons;addon-google_apis-google-22" \
"add-ons;addon-google_apis-google-21" \
"cmake;3.6.4111459" \
"cmake;3.10.2.4988404" \
"patcher;v4"
# Document what was added to the image

View File

@@ -76,6 +76,7 @@ echo "y" | ${ANDROID_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \
"add-ons;addon-google_apis-google-22" \
"add-ons;addon-google_apis-google-21" \
"cmake;3.6.4111459" \
"cmake;3.10.2.4988404" \
"patcher;v4"
# Document what was added to the image

View File

@@ -0,0 +1,7 @@
#Set ImageVersion and ImageOS env variables
echo ImageVersion=$IMAGE_VERSION | tee -a /etc/environment
echo ImageOS=$IMAGE_OS | tee -a /etc/environment
# This directory is supposed to be created in $HOME and owned by user(https://github.com/actions/virtual-environments/issues/491)
mkdir -p /etc/skel/.config/configstore
echo 'export XDG_CONFIG_HOME=$HOME/.config' | tee -a /etc/skel/.bashrc

View File

@@ -35,3 +35,13 @@ echo "Lastly, document the installed versions"
DocumentInstalledItem "Git ($(git --version 2>&1 | cut -d ' ' -f 3))"
# git-lfs/2.6.1 (GitHub; linux amd64; go 1.11.1)
DocumentInstalledItem "Git Large File Storage (LFS) ($(git-lfs --version 2>&1 | cut -d ' ' -f 1 | cut -d '/' -f 2))"
#Install hub
snap install hub --classic
if command -v hub; then
echo "hub CLI was installed successfully"
DocumentInstalledItem "Hub CLI ($(hub --version | grep "hub version" | cut -d ' ' -f 3))"
else
echo "[!] Hub CLI was not installed"
exit 1
fi

View File

@@ -123,9 +123,12 @@
},
{
"type": "shell",
"inline": [
"echo ImageVersion={{user `image_version`}} | tee -a /etc/environment",
"echo ImageOS={{user `image_os`}} | tee -a /etc/environment"
"scripts": [
"{{template_dir}}/scripts/installers/configure-environment.sh"
],
"environment_vars": [
"IMAGE_VERSION={{user `image_version`}}",
"IMAGE_OS={{user `image_os`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},

View File

@@ -126,9 +126,12 @@
},
{
"type": "shell",
"inline": [
"echo ImageVersion={{user `image_version`}} | tee -a /etc/environment",
"echo ImageOS={{user `image_os`}} | tee -a /etc/environment"
"scripts": [
"{{template_dir}}/scripts/installers/configure-environment.sh"
],
"environment_vars": [
"IMAGE_VERSION={{user `image_version`}}",
"IMAGE_OS={{user `image_os`}}"
],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
},

View File

@@ -1,5 +1,5 @@
# macOS Catalina 10.15.3 (19D76)
The following software is installed on machines with the 20200224.1 update.
The following software is installed on machines with the 20200307.2 update.
#### Xcode 11.3.1 set by default
## Operating System
@@ -21,40 +21,42 @@ The following software is installed on machines with the 20200224.1 update.
- GNU Fortran (Homebrew GCC 9.2.0_3) 9.2.0
- Node.js v12.16.1
- NVM 0.33.11
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.9.0
- PowerShell 6.2.4
- NVM - Cached node versions: v6.17.1 v8.17.0 v10.19.0 v12.16.1 v13.10.1
- PowerShell 7.0.0
- Python 2.7.17
- Python 3.7.6
- Ruby 2.6.5p114
- .NET SDK 2.0.0 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101
- Go 1.14
- PHP 7.4.3
- julia 1.3.1
### Package Management
- Rustup 1.21.1
- Vcpkg 2020.02.04
- Bundler version 2.1.4
- Carthage 0.34.0
- CocoaPods 1.9.0
- Homebrew 2.2.6
- Homebrew 2.2.9
- NPM 6.13.4
- Yarn 1.22.0
- Yarn 1.22.1
- NuGet 5.4.0.6315
- Pip 19.3.1 (python 2.7)
- Pip 19.3.1 (python 3.7)
- Miniconda 4.7.12
- RubyGems 3.1.2
- Vcpkg 2020.02.04
### Project Management
- Apache Maven 3.6.3
- Gradle 6.2.1
- Gradle 6.2.2
### Utilities
- Curl 7.68.0
- Git: 2.25.0
- Curl 7.69.0
- Git: 2.25.1
- Git LFS: 2.10.0
- GNU Wget 1.20.3
- Subversion (SVN) 1.13.0
- Packer 1.5.4
- GNU parallel 20200222
- OpenSSL 1.0.2t 10 Sep 2019
- jq 1.6
@@ -63,18 +65,20 @@ The following software is installed on machines with the 20200224.1 update.
- aria2 1.35.0
- azcopy 10.3.4
- zstd 1.4.4
- bazel 2.2.0
- bazelisk v1.3.0
### Tools
- Fastlane 2.142.0
- Cmake 3.16.4
- Fastlane 2.143.0
- Cmake 3.16.5
- App Center CLI 2.3.3
- Azure CLI 2.1.0
### Browsers
- Google Chrome 80.0.3987.122
- Google Chrome 80.0.3987.132
- ChromeDriver 80.0.3987.106
- Microsoft Edge 80.0.361.62
- MSEdgeDriver 80.0.361.62
- Microsoft Edge 80.0.361.66
- MSEdgeDriver 80.0.361.66
- Mozilla Firefox 73.0.1
- geckodriver 0.26.0
@@ -98,7 +102,7 @@ The following software is installed on machines with the 20200224.1 update.
### Xamarin
#### Visual Studio for Mac
- 8.4.7.17
- 8.4.8.2
#### Mono
- 6.6.0.166
@@ -126,7 +130,7 @@ The following software is installed on machines with the 20200224.1 update.
### Xcode
| Version | Build | Path |
| ---------------- | ------- | --------------------------------- |
| 11.4 (beta) | 11N123k | /Applications/Xcode_11.4_beta.app |
| 11.4 (beta) | 11N132i | /Applications/Xcode_11.4_beta.app |
| 11.3.1 (default) | 11C505 | /Applications/Xcode_11.3.1.app |
| 11.3 | 11C29 | /Applications/Xcode_11.3.app |
| 11.2.1 | 11B500 | /Applications/Xcode_11.2.1.app |
@@ -186,7 +190,7 @@ The following software is installed on machines with the 20200224.1 update.
### Android
#### Android SDK Tools
| Package Name | Description |
| ---------------------------------- | ---------------------------------- |
| ------------ | ---------------------------------- |
| tools | Android SDK Tools, Revision 26.1.1 |
#### Android SDK Platform-Tools
@@ -257,4 +261,3 @@ The following software is installed on machines with the 20200224.1 update.
| Google Repository | 58 |
| Intel x86 Emulator Accelerator (HAXM installer) | 7.5.1 |

View File

@@ -28,7 +28,10 @@
"capture_name_prefix": "packer",
"image_version": "dev",
"image_os": "win16",
"github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}"
"github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}",
"go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14",
"go_default": "1.14",
"boost_default": "1.69.0"
},
"sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"],
"builders": [
@@ -100,6 +103,12 @@
"{{ template_dir }}/scripts/Installers/Windows2016/Initialize-VM.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1"
]
},
{
"type": "windows-restart",
"restart_timeout": "30m"
@@ -205,7 +214,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2016/Install-Wix.ps1"
"{{ template_dir }}/scripts/Installers/Install-Wix.ps1"
]
},
{
@@ -221,7 +230,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2016/Install-WDK.ps1"
"{{ template_dir }}/scripts/Installers/Install-WDK.ps1"
]
},
{
@@ -243,7 +252,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2016/Validate-Wix.ps1"
"{{ template_dir }}/scripts/Installers/Validate-Wix.ps1"
]
},
{
@@ -255,7 +264,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2016/Validate-WDK.ps1"
"{{ template_dir }}/scripts/Installers/Validate-WDK.ps1"
]
},
{
@@ -264,12 +273,6 @@
"{{ template_dir }}/scripts/Installers/Validate-ServiceFabricSDK.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -324,7 +327,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2016/Install-Python.ps1"
"{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1"
]
},
{
@@ -342,8 +345,8 @@
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS=1.9.7,1.10.8,1.11.12,1.12.7,1.13",
"GO_DEFAULT=1.12.7"
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Go.ps1"
@@ -355,12 +358,6 @@
"{{ template_dir }}/scripts/Installers/Install-PHP.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Ruby.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -520,8 +517,8 @@
{
"type": "powershell",
"environment_vars": [
"BOOST_VERSIONS=1.69.0,1.72.0",
"BOOST_DEFAULT=1.69.0"
"ROOT_FOLDER={{user `root_folder`}}",
"BOOST_DEFAULT={{user `boost_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Boost.ps1"
@@ -557,12 +554,6 @@
"{{ template_dir }}/scripts/Installers/Install-GitVersion.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -633,7 +624,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Python.ps1"
"{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1"
]
},
{
@@ -651,8 +642,8 @@
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS=1.9.7,1.10.8,1.11.12,1.12.7,1.13",
"GO_DEFAULT=1.12.7"
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{ user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Go.ps1"
@@ -661,8 +652,8 @@
{
"type": "powershell",
"environment_vars": [
"BOOST_VERSIONS=1.69.0,1.72.0",
"BOOST_DEFAULT=1.69.0"
"ROOT_FOLDER={{user `root_folder`}}",
"BOOST_DEFAULT={{user `boost_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Boost.ps1"
@@ -674,12 +665,6 @@
"{{ template_dir }}/scripts/Installers/Validate-PHP.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Ruby.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -842,12 +827,6 @@
"{{ template_dir }}/scripts/Installers/Validate-GitVersion.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1"
]
},
{
"type": "powershell",
"scripts":[

View File

@@ -1,6 +1,6 @@
# Windows Server 2016
The following software is installed on machines with the 20200301.1 update.
The following software is installed on machines with the 20200308.0 update.
Components marked with **\*** have been upgraded since the previous version of the image.
@@ -25,7 +25,7 @@ _Environment:_
## Powershell Core
_Version:_ 6.2.4
_Version:_ 7.0.0
<br/>
## Docker images
@@ -159,8 +159,8 @@ _Version:_ 10.0.17763.0<br/>
_Version:_ 10.0.17763.0<br/>
## Azure Service Fabric
_SDK Version:_ 4.0.466.9590<br/>
_SDK Version:_ 4.0.470.9590<br/>
_Runtime Version:_ 7.0.470.9590
## WinAppDriver
@@ -168,6 +168,10 @@ _Version:_ 1.1.1809.18001<br/>
_Version:_ 1.1.1809.18001<br/>
## Android SDK Build Tools
#### 29.0.3
_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.3
#### 29.0.2
@@ -441,6 +445,10 @@ _Environment:_
#### Python 2.7.17
_Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
## Perl
_Version:_ v5.30.1<br/>
## Git
@@ -521,6 +529,10 @@ _Location:_ C:\Rust\.cargo\bin
_Location:_ C:\Rust\.cargo\bin
_Environment:_
* PATH: contains the location of rustc.exe
## Julia (x64)
_Version:_ 1.3.1<br/>
## sbt
@@ -534,12 +546,12 @@ _Environment:_
## Google Chrome
_version:_
_version:_
80.0.3987.132
## Microsoft Edge
_version:_
_version:_
80.0.361.66
## Mozilla Firefox
@@ -552,7 +564,7 @@ _version:_
#### Chrome Driver
_version:_
_version:_
80.0.3987.106
_Environment:_
@@ -560,7 +572,7 @@ _Environment:_
#### Gecko Driver
_version:_
_version:_
0.26.0
_Environment:_
@@ -568,7 +580,7 @@ _Environment:_
#### IE Driver
_version:_
_version:_
3.8.0.0
_Environment:_
@@ -576,7 +588,7 @@ _Environment:_
#### Microsoft Edge Driver
_version:_
_version:_
80.0.361.66
_Environment:_
@@ -590,7 +602,7 @@ _Environment:_
_Environment:_
* PATH: contains location of node.exe<br/>
* Gulp CLI version: 2.2.0 Local version: Unknown<br/>
* Grunt grunt-cli v1.3.2<br/>
* Grunt grunt-cli v1.3.2<br/>
* Yarn 1.22.1<br/>
@@ -599,6 +611,14 @@ _Version:_ 6.13.4<br/>
_Version:_ 6.13.4<br/>
_Environment:_
* PATH: contains location of npm.cmd
## bazel
_Version:_ bazel 2.1.0<br/>
## bazelisk
_Version:_ 1.3.0<br/>
## Java Development Kit
@@ -632,13 +652,13 @@ _Environment:_
* M2_HOME: Maven installation root
## Gradle
_Version:_ 6.2.2<br/>
_Environment:_
* PATH: contains location of gradle
## Cmake
_Version:_ 3.16.5<br/>
_Environment:_
* PATH: contains location of cmake.exe
@@ -657,10 +677,6 @@ _Environment:_
_SDK:_
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
* 3.0.103 C:\Program Files\dotnet\sdk\3.0.103
* 3.0.102 C:\Program Files\dotnet\sdk\3.0.102
* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
* 2.2.402 C:\Program Files\dotnet\sdk\2.2.402
* 2.2.401 C:\Program Files\dotnet\sdk\2.2.401
@@ -720,10 +736,6 @@ _SDK:_
_Runtime:_
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
* 3.0.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.3
* 3.0.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.2
* 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
* 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8
* 2.2.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.7
@@ -793,9 +805,13 @@ _Location:_ C:\Program Files\Azure Cosmos DB Emulator\
## 7zip
_Version:_ 19.00<br/>
## Packer
_Version:_ 1.5.4<br/>
## Mercurial
_Version:_ 5.0<br/>
## jq
@@ -803,27 +819,23 @@ _Version:_ jq-1.6<br/>
_Version:_ jq-1.6<br/>
## zstd
_Version:_ 1.4.0<br/>
## Inno Setup
_Version:_ 6.0.3<br/>
## Perl
_Version:_ v5.26.2<br/>
## GitVersion
_Version:_ 5.2.0.0<br/>
## OpenSSL
_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/>_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>
## Cloud Foundry CLI
_Version:_ 6.50.0<br/>
## Vcpkg
@@ -843,7 +855,3 @@ _Environment:_
_Version:_ kind v0.7.0 go1.13.6 windows/amd64<br/>
_Environment:_
* PATH: contains location of kind.exe
## bazel

View File

@@ -28,7 +28,10 @@
"capture_name_prefix": "packer",
"image_version": "dev",
"image_os": "win19",
"github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}"
"github_feed_token": "{{env `GITHUB_FEED_TOKEN`}}",
"go_versions": "1.9, 1.10, 1.11, 1.12, 1.13, 1.14",
"go_default": "1.14",
"boost_default": "1.72.0"
},
"sensitive-variables": ["install_password", "ssh_password", "client_secret", "github_feed_token"],
"builders": [
@@ -100,6 +103,12 @@
"{{ template_dir }}/scripts/Installers/Windows2019/Initialize-VM.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1"
]
},
{
"type": "windows-restart",
"restart_timeout": "10m"
@@ -180,13 +189,13 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Install-Wix.ps1"
"{{ template_dir }}/scripts/Installers/Install-Wix.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Install-AnalysisExtenstion.ps1"
"{{ template_dir }}/scripts/Installers/Windows2019/Install-SSDTExtensions.ps1"
]
},
{
@@ -202,7 +211,7 @@
{
"type": "powershell",
"scripts": [
"{{ template_dir }}/scripts/Installers/Windows2019/Install-WDK.ps1"
"{{ template_dir }}/scripts/Installers/Install-WDK.ps1"
]
},
{
@@ -218,13 +227,13 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-Wix.ps1"
"{{ template_dir }}/scripts/Installers/Validate-Wix.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-AnalysisExtenstion.ps1"
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-SSDTExtensions.ps1"
]
},
{
@@ -236,7 +245,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Validate-WDK.ps1"
"{{ template_dir }}/scripts/Installers/Validate-WDK.ps1"
]
},
{
@@ -245,12 +254,6 @@
"{{ template_dir }}/scripts/Installers/Validate-ServiceFabricSDK.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Update-DotnetTLS.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -299,7 +302,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Windows2019/Install-Python.ps1"
"{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1"
]
},
{
@@ -317,8 +320,8 @@
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS=1.10.8,1.11.12,1.12.7,1.13",
"GO_DEFAULT=1.12.7"
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Go.ps1"
@@ -330,12 +333,6 @@
"{{ template_dir }}/scripts/Installers/Install-PHP.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Ruby.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -501,8 +498,8 @@
{
"type": "powershell",
"environment_vars": [
"BOOST_VERSIONS=1.69.0,1.72.0",
"BOOST_DEFAULT=1.72.0"
"ROOT_FOLDER={{user `root_folder`}}",
"BOOST_DEFAULT={{user `boost_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-Boost.ps1"
@@ -538,12 +535,6 @@
"{{ template_dir }}/scripts/Installers/Install-GitVersion.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-OpenSSL.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -620,7 +611,7 @@
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Python.ps1"
"{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1"
]
},
{
@@ -638,8 +629,8 @@
{
"type": "powershell",
"environment_vars": [
"GO_VERSIONS=1.10.8,1.11.12,1.12.7,1.13",
"GO_DEFAULT=1.12.7"
"GO_VERSIONS={{user `go_versions`}}",
"GO_DEFAULT={{user `go_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Go.ps1"
@@ -648,8 +639,8 @@
{
"type": "powershell",
"environment_vars": [
"BOOST_VERSIONS=1.69.0,1.72.0",
"BOOST_DEFAULT=1.72.0"
"ROOT_FOLDER={{user `root_folder`}}",
"BOOST_DEFAULT={{user `boost_default`}}"
],
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Boost.ps1"
@@ -661,12 +652,6 @@
"{{ template_dir }}/scripts/Installers/Validate-PHP.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-Ruby.ps1"
]
},
{
"type": "powershell",
"scripts":[
@@ -823,12 +808,6 @@
"{{ template_dir }}/scripts/Installers/Validate-GitVersion.ps1"
]
},
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-OpenSSL.ps1"
]
},
{
"type": "powershell",
"scripts":[

View File

@@ -1,6 +1,6 @@
# Windows Server 2019
The following software is installed on machines with the 20200301.1 update.
The following software is installed on machines with the 20200308.0 update.
Components marked with **\*** have been upgraded since the previous version of the image.
@@ -25,7 +25,7 @@ _Environment:_
## Powershell Core
_Version:_ 6.2.4
_Version:_ 7.0.0
<br/>
## Docker images
@@ -93,6 +93,15 @@ The following workloads and components are installed with Visual Studio 2019:
* Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest
* Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest
* Microsoft.VisualStudio.Component.VC.v141
* Microsoft.VisualStudio.Component.VC.v141.x86.x64
* Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre
* Microsoft.VisualStudio.Component.VC.v141.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.v141.ARM64.Spectre
* Microsoft.VisualStudio.Component.VC.v141.ATL.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.v141.ATL.ARM64.Spectre
* Microsoft.VisualStudio.Component.VC.v141.ATL.Spectre
* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM.Spectre
* Microsoft.VisualStudio.Component.VC.v141.MFC.ARM64.Spectre
* Microsoft.VisualStudio.Component.VC.v141.MFC.Spectre
* Microsoft.VisualStudio.Component.Windows10SDK.16299
* Microsoft.VisualStudio.Component.Windows10SDK.17134
@@ -127,6 +136,10 @@ _WIX Toolset Visual Studio Extension Version:_ 1.0.0.4<br/>
_WIX Toolset Visual Studio Extension Version:_ 1.0.0.4<br/>
_Environment:_
* WIX: Installation root of WIX
## Microsoft Analysis Services Projects Visual Studio Extension
_Version:_ 2.9.5<br/>
## .NET 4.8
@@ -139,8 +152,8 @@ _WDK Visual Studio Extension Version:_ 10.0.18346.0<br/>
_WDK Visual Studio Extension Version:_ 10.0.18346.0<br/>
## Azure Service Fabric
_SDK Version:_ 4.0.466.9590<br/>
_SDK Version:_ 4.0.470.9590<br/>
_Runtime Version:_ 7.0.470.9590
## WinAppDriver
@@ -148,6 +161,10 @@ _Version:_ 1.1.1809.18001<br/>
_Version:_ 1.1.1809.18001<br/>
## Android SDK Build Tools
#### 29.0.3
_Location:_ C:\Program Files (x86)\Android\android-sdk\build-tools\29.0.3
#### 29.0.2
@@ -421,6 +438,10 @@ _Environment:_
#### Python 2.7.17
_Location:_ C:/hostedtoolcache/windows/Python/2.7*/x64
## Perl
_Version:_ v5.30.1<br/>
## Git
@@ -436,16 +457,6 @@ _Environment:_
* GIT_LFS_PATH: location of git-lfs.exe
## Go (x64)
#### 1.10.8
_Environment:_
* GOROOT_1_10_X64: root directory of the Go 1.10.8 installation
#### 1.11.12
_Environment:_
* GOROOT_1_11_X64: root directory of the Go 1.11.12 installation
#### 1.12.7
@@ -496,6 +507,10 @@ _Location:_ C:\Rust\.cargo\bin
_Location:_ C:\Rust\.cargo\bin
_Environment:_
* PATH: contains the location of rustc.exe
## Julia (x64)
_Version:_ 1.3.1<br/>
## Subversion
@@ -509,12 +524,12 @@ _Environment:_
## Google Chrome
_version:_
_version:_
80.0.3987.132
## Microsoft Edge
_version:_
_version:_
80.0.361.66
## Mozilla Firefox
@@ -527,7 +542,7 @@ _version:_
#### Chrome Driver
_version:_
_version:_
80.0.3987.106
_Environment:_
@@ -535,7 +550,7 @@ _Environment:_
#### Gecko Driver
_version:_
_version:_
0.26.0
_Environment:_
@@ -543,7 +558,7 @@ _Environment:_
#### IE Driver
_version:_
_version:_
3.8.0.0
_Environment:_
@@ -551,7 +566,7 @@ _Environment:_
#### Microsoft Edge Driver
_version:_
_version:_
80.0.361.66
_Environment:_
@@ -565,7 +580,7 @@ _Environment:_
_Environment:_
* PATH: contains location of node.exe<br/>
* Gulp CLI version: 2.2.0 Local version: Unknown<br/>
* Grunt grunt-cli v1.3.2<br/>
* Grunt grunt-cli v1.3.2<br/>
* Yarn 1.22.1<br/>
@@ -607,13 +622,13 @@ _Environment:_
* M2_HOME: Maven installation root
## Gradle
_Version:_ 6.2.2<br/>
_Environment:_
* PATH: contains location of gradle
## Cmake
_Version:_ 3.16.5<br/>
_Environment:_
* PATH: contains location of cmake.exe
@@ -632,10 +647,6 @@ _Environment:_
_SDK:_
* 3.1.101 C:\Program Files\dotnet\sdk\3.1.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
* 3.0.103 C:\Program Files\dotnet\sdk\3.0.103
* 3.0.102 C:\Program Files\dotnet\sdk\3.0.102
* 3.0.101 C:\Program Files\dotnet\sdk\3.0.101
* 3.1.100 C:\Program Files\dotnet\sdk\3.1.100
* 2.2.402 C:\Program Files\dotnet\sdk\2.2.402
* 2.2.401 C:\Program Files\dotnet\sdk\2.2.401
@@ -693,10 +704,6 @@ _SDK:_
_Runtime:_
* 3.1.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.1
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
* 3.0.3 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.3
* 3.0.2 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.2
* 3.0.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.0.1
* 3.1.0 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.0
* 2.2.8 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.8
* 2.2.7 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.7
@@ -763,33 +770,37 @@ _Location:_ C:\Program Files\Azure Cosmos DB Emulator\
## 7zip
_Version:_ 19.00<br/>
## Packer
_Version:_ 1.5.4<br/>
## Mercurial
_Version:_ 5.0<br/>
## jq
_Version:_ jq-1.6<br/>
## zstd
_Version:_ 1.4.0<br/>
## Inno Setup
_Version:_ 6.0.3<br/>
## Perl
_Version:_ v5.26.2<br/>
## GitVersion
_Version:_ 5.2.0.0<br/>
## OpenSSL
_Version:_ 1.1.1c at C:\Strawberry\c\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\mingw64\bin\openssl.exe<br/>_Version:_ 1.1.1d at C:\Program Files\Git\usr\bin\openssl.exe<br/>_Version:_ 1.0.2j at C:\Program Files (x86)\Subversion\bin\openssl.exe<br/>_Version:_ 1.1.1 at C:\Program Files\OpenSSL\bin\openssl.exe<br/>
## Cloud Foundry CLI
_Version:_ 6.50.0<br/>
## Vcpkg
@@ -800,7 +811,7 @@ _Environment:_
* VCPKG_INSTALLATION_ROOT: root directory of the vcpkg installation
## VSWhere
_Version_: 2.8.4+ff0de50053 - shim 0.8.1<br/>
* PATH: contains location of vswhere.exe
@@ -818,3 +829,7 @@ _Environment:_
## bazel
_Version:_ bazel 2.1.0<br/>
## bazelisk

View File

@@ -14,9 +14,15 @@ Export-ModuleMember -Function @(
'Set-SystemVariable'
'Install-MSI'
'Install-EXE'
'Get-ToolcachePackages'
'Get-ToolsByName'
'Add-ContentToMarkdown'
'Add-SoftwareDetailsToMarkdown'
'Stop-SvcWithErrHandling'
'Set-SvcWithErrHandling'
'Get-VS19ExtensionVersion'
'Install-VsixExtension'
'Get-VSExtensionVersion'
'Get-WinVersion'
'Test-IsWin19'
'Test-IsWin16'
)

View File

@@ -161,7 +161,94 @@ Hashtable for service arguments
}
}
function Get-VS19ExtensionVersion
function Install-VsixExtension
{
Param
(
[string] $Url,
[Parameter(Mandatory = $true)]
[string] $Name,
[string] $FilePath,
[Parameter(Mandatory = $true)]
[string] $VSversion,
[int] $retries = 20,
[switch] $InstallOnly
)
if (!$InstallOnly)
{
$FilePath = "${env:Temp}\$Name"
while($retries -gt 0)
{
try
{
Write-Host "Downloading $Name..."
(New-Object System.Net.WebClient).DownloadFile($Url, $FilePath)
break
}
catch
{
Write-Host "There is an error during $Name downloading"
$_
$retries--
if ($retries -eq 0)
{
Write-Host "File can't be downloaded"
$_
exit 1
}
Write-Host "Waiting 30 seconds before retrying. Retries left: $retries"
Start-Sleep -Seconds 30
}
}
}
$ArgumentList = ('/quiet', "`"$FilePath`"")
Write-Host "Starting Install $Name..."
try
{
#There are 2 types of packages at the moment - exe and vsix
if ($Name -match "vsix")
{
$process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\$VSversion\Enterprise\Common7\IDE\VSIXInstaller.exe" -ArgumentList $ArgumentList -Wait -PassThru
}
else
{
$process = Start-Process -FilePath ${env:Temp}\$Name /Q -Wait -PassThru
}
}
catch
{
Write-Host "There is an error during $Name installation"
$_
exit 1
}
$exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed
{
Write-Host "$Name installed successfully"
}
else
{
Write-Host "Unsuccessful exit code returned by the installation process: $exitCode."
exit 1
}
#Cleanup downloaded installation files
if (!$InstallOnly)
{
Remove-Item -Force -Confirm:$false $FilePath
}
}
function Get-VSExtensionVersion
{
param (
[string] [Parameter(Mandatory=$true)] $packageName
@@ -187,3 +274,41 @@ function Get-VS19ExtensionVersion
return $packageVersion
}
function Get-ToolcachePackages {
$toolcachePath = Join-Path $env:ROOT_FOLDER "toolcache.json"
Get-Content -Raw $toolcachePath | ConvertFrom-Json
}
function Get-ToolsByName {
param (
[Parameter(Mandatory = $True)]
[string]$SoftwareName
)
(Get-ToolcachePackages).PSObject.Properties | Where-Object { $_.Name -match $SoftwareName } | ForEach-Object {
$packageNameParts = $_.Name.Split("-")
[PSCustomObject] @{
ToolName = $packageNameParts[1]
Versions = $_.Value
Architecture = $packageNameParts[3,4] -join "-"
}
}
}
function Get-WinVersion
{
(Get-WmiObject -class Win32_OperatingSystem).Caption
}
function Test-IsWin19
{
(Get-WinVersion) -match "2019"
}
function Test-IsWin16
{
(Get-WinVersion) -match "2016"
}

View File

@@ -44,6 +44,39 @@ Function NPMFeed-AuthSetup {
$npmrcContent | Out-File -FilePath "$($env:TEMP)/.npmrc" -Encoding utf8
}
Function Set-DefaultPythonVersion {
param(
[Parameter(Mandatory=$true)]
[System.Version] $Version,
[System.String] $Arch = "x64"
)
$pythonPath = $Env:AGENT_TOOLSDIRECTORY + "/Python/${Version}*/${Arch}"
$pythonDir = Get-Item -Path $pythonPath
Write-Host "Use Python ${Version} as a system Python"
Add-MachinePathItem -PathItem $pythonDir.FullName
Add-MachinePathItem -PathItem "$($pythonDir.FullName)\Scripts"
}
Function Set-DefaultRubyVersion {
param(
[Parameter(Mandatory=$true)]
[System.Version] $Version,
[System.String] $Arch = "x64"
)
$rubyPath = $Env:AGENT_TOOLSDIRECTORY + "/Ruby/${Version}*/${Arch}/bin"
$rubyDir = Get-Item -Path $rubyPath
Write-Host "Use Ruby ${Version} as a system Ruby"
Add-MachinePathItem -PathItem $rubyDir.FullName
# Update ruby gem to latest version
gem update --system
}
Import-Module -Name ImageHelpers -Force
$FeedPrefix = "https://npm.pkg.github.com"
$AccessToken = $env:GITHUB_FEED_TOKEN
@@ -71,7 +104,5 @@ $ToolVersions.PSObject.Properties | ForEach-Object {
}
}
#junction point from the previous Python2 directory to the toolcache Python2
Write-Host "Create symlink to Python2"
$python2Dir = (Get-Item -Path ($ToolsDirectory + '/Python/2.7*/x64')).FullName
cmd.exe /c mklink /d "C:\Python27amd64" "$python2Dir"
Set-DefaultPythonVersion -Version "3.7"
Set-DefaultRubyVersion -Version "2.5"

View File

@@ -4,8 +4,11 @@
## Desc: Install boost using tool cache
################################################################################
$BoostDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "Boost"
$BoostVersions = $env:BOOST_VERSIONS.split(',')
Import-Module -Name ImageHelpers
$SoftwareName = "Boost"
$BoostDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName
$BoostVersions = (Get-ToolsByName -SoftwareName $SoftwareName).Versions | Foreach-Object {"{0}.0" -f $_}
$BoostDefault = $env:BOOST_DEFAULT
foreach($BoostVersion in $BoostVersions)
@@ -20,7 +23,5 @@ foreach($BoostVersion in $BoostVersions)
Write-Host "Adding Boost $BoostVersion to the path..."
# Add the Boost binaries to the path
Add-MachinePathItem $BoostInstallationDir | Out-Null
# Set the BOOSTROOT environment variable
setx BOOST_ROOT $BoostInstallationDir /M | Out-Null
}
}

View File

@@ -8,6 +8,7 @@ Import-Module -Name ImageHelpers
# Install the latest version of Git which is bundled with Git LFS.
# See https://chocolatey.org/packages/git
choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTerminal /NoShellIntegration"
choco install hub
# Disable GCM machine-wide
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)

View File

@@ -5,6 +5,7 @@
Import-Module -Name ImageHelpers -Force
$refsJson = Invoke-RestMethod "https://api.github.com/repos/golang/go/git/refs/tags"
function Install-GoVersion
{
Param
@@ -13,17 +14,20 @@ function Install-GoVersion
[Switch]$addToDefaultPath
)
$latestVersionObject = $refsJson | Where-Object { $_.ref -Match "refs/tags/go$goVersion[./d]*" } | Select-Object -Last 1
$latestVersion = $latestVersionObject.ref.replace('refs/tags/go','')
# Download the Go zip archive.
Write-Host "Downloading Go $goVersion..."
Write-Host "Downloading Go $latestVersion..."
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -UseBasicParsing -Uri "https://dl.google.com/go/go$goVersion.windows-amd64.zip" -OutFile go$goVersion.windows-amd64.zip
Invoke-WebRequest -UseBasicParsing -Uri "https://dl.google.com/go/go$latestVersion.windows-amd64.zip" -OutFile go$latestVersion.windows-amd64.zip
# Extract the zip archive. It contains a single directory named "go".
Write-Host "Extracting Go $goVersion..."
Expand-Archive -Path go$goVersion.windows-amd64.zip -DestinationPath "C:\" -Force
Write-Host "Extracting Go $latestVersion..."
Expand-Archive -Path go$latestVersion.windows-amd64.zip -DestinationPath "C:\" -Force
# Delete unnecessary files to conserve space
Write-Host "Cleaning directories of Go $goVersion..."
Write-Host "Cleaning directories of Go $latestVersion..."
if (Test-Path "C:\go\doc")
{
Remove-Item -Recurse -Force "C:\go\doc"
@@ -34,17 +38,17 @@ function Install-GoVersion
}
# Rename the extracted "go" directory to include the Go version number (to support side-by-side versions of Go).
$newDirName = "Go$goVersion"
$newDirName = "Go$latestVersion"
Rename-Item -path "C:\go" -newName $newDirName
# Delete the Go zip archive.
Write-Host "Deleting downloaded archive of Go $goVersion..."
Remove-Item go$goVersion.windows-a`md64.zip
Write-Host "Deleting downloaded archive of Go $latestVersion..."
Remove-Item go$latestVersion.windows-amd64.zip
# Make this the default version of Go?
if ($addToDefaultPath)
{
Write-Host "Adding Go $goVersion to the path..."
Write-Host "Adding Go $latestVersion to the path..."
# Add the Go binaries to the path.
Add-MachinePathItem "C:\$newDirName\bin" | Out-Null
# Set the GOROOT environment variable.
@@ -52,12 +56,12 @@ function Install-GoVersion
}
# Done
Write-Host "Done installing Go $goVersion."
Write-Host "Done installing Go $latestVersion."
return "C:\$newDirName"
}
# Install Go
$goVersionsToInstall = $env:GO_VERSIONS.split(",")
$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries)
foreach($go in $goVersionsToInstall) {
Write-Host "Installing Go ${go}"

View File

@@ -1,24 +0,0 @@
################################################################################
## File: Install-Ruby.ps1
## Desc: Install Ruby for Windows
################################################################################
Import-Module -Name ImageHelpers
# Ruby versions are already available in the tool cache.
# Tool cache Ruby Path
$toolcacheRubyPath = 'C:\hostedtoolcache\windows\Ruby\2.5.*'
# Get Latest Ruby 2.5.x
$latestRubyBinPath2_5 = Get-ChildItem -Path $toolcacheRubyPath | Sort-Object {[System.Version]$_.Name} | Select-Object -Last 1 | ForEach-Object {
Join-Path $_.FullName 'x64\bin'
}
Add-MachinePathItem $latestRubyBinPath2_5
$env:Path = Get-MachinePath
# Update ruby gem to latest version
gem update --system
exit 0

View File

@@ -4,8 +4,24 @@
################################################################################
# Requires Windows SDK with the same version number as the WDK
Import-Module -Name ImageHelpers -Force
if(Test-IsWin19)
{
$winSdkUrl = "https://go.microsoft.com/fwlink/p/?linkid=2083338"
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2085767"
$FilePath = "C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix"
$VSver = "2019"
}
else
{
$winSdkUrl = "https://go.microsoft.com/fwlink/p/?LinkID=2023014"
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2026156"
$FilePath = "C:\Program Files (x86)\Windows Kits\10\Vsix\WDK.vsix"
$VSver = "2017"
}
# `winsdksetup.exe /features + /quiet` installs all features without showing the GUI
$sdkExitCode = Install-EXE -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet")
@@ -26,32 +42,4 @@ if ($wdkExitCode -ne 0)
}
# Need to install the VSIX to get the build targets when running VSBuild
# Write-Host "Installing WDK.vsix"
try
{
$process = Start-Process `
-FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" `
-ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix"') `
-Wait `
-PassThru
}
catch
{
Write-Host "There is an error during WDK.vsix installation"
$_
exit 1
}
$exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed
{
Write-Host "WDK.vsix installed successfully"
}
else
{
Write-Host "Unsuccessful exit code returned by the installation process: $exitCode."
}
exit $exitCode
Install-VsixExtension -FilePath $FilePath -Name "WDK.vsix" -VSversion $VSver -InstallOnly

View File

@@ -0,0 +1,23 @@
################################################################################
## File: Install-Wix.ps1
## Desc: Install WIX.
################################################################################
Import-Module -Name ImageHelpers -Force;
choco install wixtoolset -y --force
if(Test-IsWin19)
{
$extensionUrl = "https://wixtoolset.gallerycdn.vsassets.io/extensions/wixtoolset/wixtoolsetvisualstudio2019extension/1.0.0.4/1563296438961/Votive2019.vsix"
$VSver = "2019"
}
else
{
$extensionUrl = "https://robmensching.gallerycdn.vsassets.io/extensions/robmensching/wixtoolsetvisualstudio2017extension/0.9.21.62588/1494013210879/250616/4/Votive2017.vsix"
$VSver = "2017"
}
$extensionName = "Votive$VSver.vsix"
#Installing VS extension 'Wix Toolset Visual Studio Extension'
Install-VsixExtension -Url $extensionUrl -Name $extensionName -VSversion $VSver

View File

@@ -110,6 +110,7 @@ Push-Location -Path $sdk.FullName
"add-ons;addon-google_apis-google-22" `
"add-ons;addon-google_apis-google-21" `
"cmake;3.6.4111459" `
"cmake;3.10.2.4988404" `
"patcher;v4"
Pop-Location

View File

@@ -3,6 +3,8 @@
## Desc: Validate Boost
################################################################################
Import-Module -Name ImageHelpers
function Validate-BoostVersion
{
Param
@@ -49,29 +51,23 @@ $tmplMarkRoot = @"
_Environment:_
* PATH: contains the location of Boost version {0}
* BOOST_ROOT: root directory of the Boost version {0} installation
* {1}: root directory of the Boost version {0} installation
"@
$SoftwareName = 'Boost'
$Description = New-Object System.Text.StringBuilder
$BoostRootDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "Boost"
$BoostVersionsToInstall = $env:BOOST_VERSIONS.split(",")
$SoftwareName = 'Boost'
$BoostRootDirectory = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath $SoftwareName
$BoostTools = Get-ToolsByName -SoftwareName $SoftwareName
foreach ($BoostTool in $BoostTools)
{
$BoostToolsetName = $BoostTool.Architecture
$BoostVersionsToInstall = $BoostTool.Versions | Foreach-Object {"{0}.0" -f $_}
foreach($BoostVersion in $BoostVersionsToInstall)
{
Validate-BoostVersion -BoostRootPath $BoostRootDirectory -BoostRelease $BoostVersion
$BoostVersionTag = "BOOST_ROOT_{0}" -f $BoostVersion.Replace('.', '_')
if ([Version]$BoostVersion -ge "1.70.0")
{
$BoostToolsetName = "msvc-14.2"
}
else
{
$BoostToolsetName = "msvc-14.1"
}
if($BoostVersion -eq $env:BOOST_DEFAULT)
{
$null = $Description.AppendLine(($tmplMarkRoot -f $BoostVersion, $BoostVersionTag, $BoostToolsetName))
@@ -81,6 +77,7 @@ foreach($BoostVersion in $BoostVersionsToInstall)
$null = $Description.AppendLine(($tmplMark -f $BoostVersion, $BoostVersionTag, $BoostToolsetName))
}
}
}
$CMakeFindBoostInfo = @"

View File

@@ -2,48 +2,61 @@
## File: Validate-Git.ps1
## Desc: Validate Git for Windows
################################################################################
if((Get-Command -Name 'git') -and (Get-Command -Name 'bash') -and (Get-Command -Name 'awk') -and (Get-Command -Name 'git-lfs'))
{
Write-Host "$(git version) on path"
Write-Host "$(git-lfs version) on path"
}
else
{
Write-Host "git or git-lfs are not on path."
function Test-CommandName {
param(
[parameter(Mandatory)][string] $CommandName
)
Write-Host "Checking the [$CommandName]"
if(-not (Get-Command $CommandName -ErrorAction "Continue")) {
Write-Host "[!] $CommandName is not found"
exit 1
}
if( $(git version) -match 'git version (?<version>.*).win.*' )
{
$gitVersion = $Matches.version
}
function Test-Command {
param(
[parameter(Mandatory)][string] $CommandName,
[parameter(Mandatory)][string] $CommandDescription,
[parameter(Mandatory)][string] $VersionCmd,
[parameter(Mandatory)][string] $regexVersion,
[parameter(Mandatory)][string] $DescriptionMarkdown
)
Test-CommandName -CommandName $CommandName
if( $(git-lfs version) -match 'git-lfs\/(?<version>.*) \(Git.*' )
{
$gitLfsVersion = $Matches.version
$strVersion = Invoke-Expression $VersionCmd
Write-Host "$strVersion on path"
if($strVersion -match $regexVersion) {
$Version = $Matches.version
}
else {
Write-Host "[!] $CommandName version detection failed"
exit 1
}
# Adding description of the software to Markdown
$SoftwareName = "Git"
$DescriptionMarkdown = $DescriptionMarkdown -f $Version
Add-SoftwareDetailsToMarkdown -SoftwareName $CommandDescription -DescriptionMarkdown $DescriptionMarkdown
}
$Description = @"
_Version:_ $gitVersion<br/>
Test-CommandName -CommandName 'bash'
Test-CommandName -CommandName 'awk'
$GitDescription = @"
_Version:_ {0}<br/>
_Environment:_
* PATH: contains location of git.exe
"@
Test-Command -CommandName 'git' -CommandDescription 'Git' -VersionCmd "git version" -regexVersion 'git version (?<version>.*).win.*' -DescriptionMarkdown $GitDescription
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
# Adding description of the software to Markdown
$SoftwareName = "Git Large File Storage (LFS)"
$Description = @"
_Version:_ $gitLfsVersion<br/>
$GitLfsDescription = @"
_Version:_ {0}<br/>
_Environment:_
* PATH: contains location of git-lfs.exe
* GIT_LFS_PATH: location of git-lfs.exe
"@
Test-Command -CommandName 'git-lfs' -CommandDescription 'Git Large File Storage (LFS)' -VersionCmd "git-lfs version" -regexVersion 'git-lfs\/(?<version>.*) \(Git.*' -DescriptionMarkdown $GitLfsDescription
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description
$HubCliDescription = @"
_Version:_ {0}<br/>
_Environment:_
* PATH: contains location of hub.exe
"@
Test-Command -CommandName 'hub' -CommandDescription 'Hub CLI' -VersionCmd "hub version | Select-String 'hub version'" -regexVersion 'hub version (?<version>.*)' -DescriptionMarkdown $HubCliDescription

View File

@@ -8,18 +8,31 @@ function Get-GoVersion
{
Param
(
[String]$goRootPath
[String]$goVersion
)
Write-Host "Check if $goVersion is presented in the system"
$DestinationPath = "$($env:SystemDrive)\"
$goDirectory = Get-ChildItem -Path $DestinationPath -Filter "Go$goVersion*" | Select-Object -First 1
$goPath = Join-Path $env:SystemDrive $goDirectory
$env:Path = "$goRootPath\bin;" + $env:Path
if( $(go version) -match 'go version go(?<version>.*) win.*' )
$env:Path = "$goPath\bin;" + $env:Path
$version = $(go version)
$matchVersion = $version -match $goVersion
$semanticEquality = $version -match 'go version go(?<version>.*) win.*'
if($semanticEquality -And $matchVersion)
{
$goVersion = $Matches.version
return $goVersion
}
$goFullVersion = $Matches.version
Write-Host "$goFullVersion has been found"
Write-Host "Unable to determine Go version at " + $goRootPath
return ""
return $goFullVersion
}
else
{
Write-Host "Unable to determine Go version at " + $goPath
exit 1
}
}
# Verify that go.exe is on the path
@@ -53,10 +66,10 @@ _Environment:_
$SoftwareName = "Go (x64)"
$Description = New-Object System.Text.StringBuilder
$goVersionsToInstall = $env:GO_VERSIONS.split(",")
$goVersionsToInstall = $env:GO_VERSIONS.split(", ", [System.StringSplitOptions]::RemoveEmptyEntries)
foreach($go in $goVersionsToInstall) {
$goVersion = Get-GoVersion -goRootPath "C:\Go${go}"
$goVersion = Get-GoVersion -goVersion $go
$goVersionTag = "GOROOT_{0}_{1}_X64" -f $go.split(".")
if ($goVersion -eq $go) {
if($go -eq $env:GO_DEFAULT) {

View File

@@ -1,45 +0,0 @@
################################################################################
## File: Validate-Python.ps1
## Desc: Configure python on path based on what is installed in the tools cache
## Must run after tools cache is downloaded and validated
################################################################################
if(Get-Command -Name 'python')
{
Write-Host "Python $(& python -V 2>&1) on path"
}
else
{
Write-Host "Python is not on path"
exit 1
}
$Python3Version = $(& python -V 2>&1)
if ($Python3Version -notlike "Python 3.*")
{
Write-Error "Python 3 is not in the PATH"
}
$python2path = $Env:AGENT_TOOLSDIRECTORY + '/Python/2.7*/x64'
$python2Dir = Get-Item -Path $python2path
$env:Path = $python2Dir.FullName + ";" + $env:Path
$Python2Version = & $env:comspec "/s /c python --version 2>&1"
# Adding description of the software to Markdown
$SoftwareName = "Python (64 bit)"
$Description = @"
#### $Python3Version
_Environment:_
* PATH: contains location of python.exe
#### $Python2Version
_Location:_ $Python2Path
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -1,55 +0,0 @@
################################################################################
## File: Validate-Ruby.ps1
## Desc: Verify that Ruby is on the path and output version information.
################################################################################
# Function that gets the version of Ruby at the specified path
function Get-RubyVersion
{
Param
(
[String]$rubyRootPath
)
# Prepend to the path like: C:\hostedtoolcache\windows\Ruby\2.5.0\x64\bin
$env:Path = "$rubyRootPath;" + $env:Path
# Extract the version from Ruby output like: ruby 2.5.1p57 (2018-03-29 revision 63029) [x64-mingw32]
if( $(ruby --version) -match 'ruby (?<version>.*) \(.*' )
{
$rubyVersion = $Matches.version
return $rubyVersion
}
Write-Host "Unable to determine Ruby version at " + $rubyRootPath
exit 1
}
# Verify that ruby is on the path
if(Get-Command -Name 'ruby')
{
Write-Host "$(ruby --version) is on the path."
}
else
{
Write-Host "Ruby is not on the path."
exit 1
}
# Default Ruby Version on Path
$rubyExeOnPath = (Get-Command -Name 'ruby').Path
$rubyBinOnPath = Split-Path -Path $rubyExeOnPath
$rubyVersionOnPath = Get-RubyVersion -rubyRootPath $rubyBinOnPath
$gemVersion = & gem -v
# Add details of available versions in Markdown
$SoftwareName = "Ruby (x64)"
$Description = @"
#### $rubyVersionOnPath
_Environment:_
* Location: $rubyBinOnPath
* PATH: contains the location of ruby.exe version $rubyVersionOnPath
* Gem Version: $gemVersion
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -63,6 +63,78 @@ function RunTestsByPath {
}
}
function Get-SystemDefaultPython {
Write-Host "Validate system Python..."
if (Get-Command -Name 'python')
{
Write-Host "Python $(& python -V 2>&1) on path"
}
else
{
Write-Host "Python is not on path"
exit 1
}
$pythonBinVersion = $(& python -V 2>&1)
if ($pythonBinVersion -notlike "Python 3.*")
{
Write-Error "Python 3 is not in the PATH"
exit 1
}
$pythonBinOnPath = Split-Path -Path (Get-Command -Name 'python').Path
$description = GetDefaultToolDescription -SoftwareVersion $pythonBinVersion -SoftwareLocation $pythonBinOnPath
return $description
}
function Get-SystemDefaultRuby {
Write-Host "Validate system Ruby..."
if (Get-Command -Name 'ruby')
{
Write-Host "$(ruby --version) is on the path."
}
else
{
Write-Host "Ruby is not on the path."
exit 1
}
$rubyBinOnPath = Split-Path -Path (Get-Command -Name 'ruby').Path
if ( $(ruby --version) -notmatch 'ruby (?<version>.*) \(.*' )
{
Write-Host "Unable to determine Ruby version at " + $rubyBinOnPath
exit 1
}
$rubyVersionOnPath = "Ruby $($Matches.version)"
$description = GetDefaultToolDescription -SoftwareVersion $rubyVersionOnPath -SoftwareLocation $rubyBinOnPath
$gemVersion = & gem -v
$description += "* Gem Version: $gemVersion<br/>"
return $description
}
function GetDefaultToolDescription {
param (
[Parameter(Mandatory = $True)]
[string]$SoftwareVersion,
[Parameter(Mandatory = $True)]
[string]$SoftwareLocation
)
$description = "<br/>__System default version:__ $SoftwareVersion<br/>"
$description += "_Environment:_<br/>"
$description += "* Location: $SoftwareLocation<br/>"
$description += "* PATH: contains the location of $SoftwareVersion<br/>"
return $description
}
function GetMarkdownDescription {
param (
[Parameter(Mandatory = $True)]
@@ -123,6 +195,14 @@ function ToolcacheTest {
$markdownDescription += GetMarkdownDescription -SoftwareVersion $foundVersion -SoftwareArchitecture $requiredArchitecture
}
}
if ($SoftwareName -contains "Python") {
$markdownDescription += Get-SystemDefaultPython
}
if ($SoftwareName -contains "Ruby") {
$markdownDescription += Get-SystemDefaultRuby
}
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $markdownDescription
}

View File

@@ -19,7 +19,7 @@ function Get-WDKVersion
}
$WDKVersion = Get-WDKVersion
$WDKPackageVersion = Get-VS19ExtensionVersion -packageName "Microsoft.Windows.DriverKit"
$WDKPackageVersion = Get-VSExtensionVersion -packageName "Microsoft.Windows.DriverKit"
# Adding description of the software to Markdown
$SoftwareName = "Windows Driver Kit"

View File

@@ -4,6 +4,7 @@
################################################################################
Import-Module -Name ImageHelpers -Force
function Get-WixVersion {
$regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
$installedApplications = Get-ItemProperty -Path $regKey
@@ -21,14 +22,23 @@ else {
exit 1
}
$WixPackageVersion = Get-VS19ExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev16"
if(Test-IsWin19)
{
$WixPackageVersion = Get-VSExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev16"
$VSver = "2019"
}
else
{
$WixPackageVersion = Get-VSExtensionVersion -packageName "WixToolset.VisualStudioExtension.Dev15"
$VSver = "2017"
}
# Adding description of the software to Markdown
$SoftwareName = "WIX Tools"
$Description = @"
_Toolset Version:_ $WixToolSetVersion<br/>
_WIX Toolset Visual Studio Extension Version:_ $WixPackageVersion<br/>
_WIX Toolset Studio $VSver Extension Version:_ $WixPackageVersion<br/>
_Environment:_
* WIX: Installation root of WIX
"@

View File

@@ -8,7 +8,13 @@ function Disable-InternetExplorerESC {
$UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force
Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force
$ieProcess = Get-Process -Name Explorer -ErrorAction SilentlyContinue
if ($ieProcess){
Stop-Process -Name Explorer -Force -ErrorAction Continue
}
Write-Host "IE Enhanced Security Configuration (ESC) has been disabled."
}

View File

@@ -1,28 +0,0 @@
################################################################################
## File: Install-Python.ps1
## Desc: Configure python on path with 3.6.* version from the tools cache
## Must run after tools cache is setup
################################################################################
Import-Module -Name ImageHelpers -Force
$python36path = $Env:AGENT_TOOLSDIRECTORY + '/Python/3.6*/x64'
$pythonDir = Get-Item -Path $python36path
if($pythonDir -is [array])
{
Write-Host "More than one python 3.6.* installations found"
Write-Host $pythonDir
exit 1
}
$currentPath = Get-MachinePath
if ($currentPath | Select-String -SimpleMatch $pythonDir.FullName)
{
Write-Host $pythonDir.FullName ' is already in PATH'
exit 0
}
Add-MachinePathItem -PathItem $pythonDir.FullName
Add-MachinePathItem -PathItem "$($pythonDir.FullName)\Scripts"

View File

@@ -1,51 +0,0 @@
################################################################################
## File: Install-WDK.ps1
## Desc: Install the Windows Driver Kit
################################################################################
# Version: 10.0.17763.0
# Update Validate-WDK.ps1 if the version changes!
# There doesn't seem to be any way to check the version programmatically
# Requires Windows SDK with the same version number as the WDK
$winSdkUrl = "https://go.microsoft.com/fwlink/p/?LinkID=2023014"
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2026156"
# `winsdksetup.exe /features + /quiet` installs all features without showing the GUI
$sdkExitCode = Install-EXE -Url $winSdkUrl -Name "winsdksetup.exe" -ArgumentList ("/features", "+", "/quiet")
if ($sdkExitCode -ne 0)
{
Write-Host "Failed to install the Windows SDK."
exit $sdkExitCode
}
# `wdksetup.exe /features + /quiet` installs all features without showing the GUI
$wdkExitCode = Install-EXE -Url $wdkUrl -Name "wdksetup.exe" -ArgumentList ("/features", "+", "/quiet")
if ($wdkExitCode -ne 0)
{
Write-Host "Failed to install the Windows Driver Kit."
exit $wdkExitCode
}
# Need to install the VSIX to get the build targets when running VSBuild
Write-Host "Installing WDK.vsix"
$process = Start-Process `
-FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe" `
-ArgumentList ("/quiet", '"C:\Program Files (x86)\Windows Kits\10\Vsix\WDK.vsix"') `
-Wait `
-PassThru
$exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed
{
Write-Host "WDK.vsix installed successfully"
}
else
{
Write-Host "Unsuccessful exit code returned by the installation process: $exitCode."
}
exit $exitCode

View File

@@ -1,53 +0,0 @@
################################################################################
## File: Install-Wix.ps1
## Desc: Install WIX.
################################################################################
function Install-VsixExtension
{
Param
(
[String]$Url,
[String]$Name
)
$exitCode = -1
try
{
Write-Host "Downloading $Name..."
$FilePath = "${env:Temp}\$Name"
Invoke-WebRequest -Uri $Url -OutFile $FilePath
$ArgumentList = ('/quiet', $FilePath)
Write-Host "Starting Install $Name..."
$process = Start-Process -FilePath 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VSIXInstaller.exe' -ArgumentList $ArgumentList -Wait -PassThru
$exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 3010)
{
Write-Host -Object 'Installation successful'
return $exitCode
}
else
{
Write-Host -Object "Non zero exit code returned by the installation process : $exitCode."
return $exitCode
}
}
catch
{
Write-Host -Object "Failed to install the Extension $Name"
Write-Host -Object $_.Exception.Message
return -1
}
}
choco install wixtoolset -y --force
#Installing VS extension 'Wix Toolset Visual Studio 2017 Extension'
$exitCode = Install-VsixExtension -Url 'https://robmensching.gallerycdn.vsassets.io/extensions/robmensching/wixtoolsetvisualstudio2017extension/0.9.21.62588/1494013210879/250616/4/Votive2017.vsix' -Name 'Votive2017.vsix'
return $exitCode

View File

@@ -5,39 +5,13 @@
Import-Module -Name ImageHelpers -Force
function Get-SSDTExtensionPackage {
$vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances"
$instanceFolders = Get-ChildItem -Path $vsProgramData.FullName
if($instanceFolders -is [array])
{
Write-Host "More than one instance installed"
exit 1
}
$stateContent = Get-Content -Path ($instanceFolders.FullName + '\state.packages.json')
$state = $stateContent | ConvertFrom-Json
$SsdtPackage = $state.packages | where { $_.id -eq "SSDT" }
return $SsdtPackage
}
$SsdtPackage = Get-SSDTExtensionPackage
if($SsdtPackage){
Write-Host "SSDT version" $SsdtPackage.version "installed"
}
else {
Write-Host "SSDT is not installed"
exit 1
}
$SSDTPackageVersion = Get-VSExtensionVersion -packageName "SSDT"
# Adding description of the software to Markdown
$SoftwareName = "SQL Server Data Tools for VS 2017"
$Description = @"
_Version:_ $($SsdtPackage.version)<br/>
_Version:_ $SSDTPackageVersion<br/>
The following components are installed:

View File

@@ -1,13 +0,0 @@
################################################################################
## File: Validate-WDK.ps1
## Desc: Validate the installation of the Windows Driver Kit
################################################################################
# Adding description of the software to Markdown
$SoftwareName = "Windows Driver Kit"
$Description = @"
_Version:_ 10.0.17763.0<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -1,62 +0,0 @@
################################################################################
## File: Validate-Wix.ps1
## Desc: Validate WIX.
################################################################################
Import-Module -Name ImageHelpers -Force
function Get-WixVersion {
$regKey = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
$installedApplications = Get-ItemProperty -Path $regKey
$Version = ($installedApplications | Where-Object { $_.DisplayName -and $_.DisplayName.toLower().Contains("wix") } | Select-Object -First 1).DisplayVersion
return $Version
}
#Gets the extension details from state.json
function Get-WixExtensionPackage {
$vsProgramData = Get-Item -Path "C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances"
$instanceFolders = Get-ChildItem -Path $vsProgramData.FullName
if($instanceFolders -is [array])
{
Write-Host "More than one instance installed"
exit 1
}
$stateContent = Get-Content -Path ($instanceFolders.FullName + '\state.packages.json')
$state = $stateContent | ConvertFrom-Json
$WixPackage = $state.packages | where { $_.id -eq "WixToolset.VisualStudioExtension.Dev15" }
return $WixPackage
}
$WixToolSetVersion = Get-WixVersion
if($WixToolSetVersion) {
Write-Host "Wix Toolset version" $WixPackage.version "installed"
}
else {
Write-Host "Wix Toolset is not installed"
exit 1
}
$WixPackage = Get-WixExtensionPackage
if($WixPackage) {
Write-Host "Wix Extension version" $WixPackage.version "installed"
}
else {
Write-Host "Wix Extension is not installed"
exit 1
}
# Adding description of the software to Markdown
$SoftwareName = "WIX Tools"
$Description = @"
_Toolset Version:_ $WixToolSetVersion<br/>
_WIX Toolset Studio 2017 Extension Version:_ $($WixPackage.version)<br/>
_Environment:_
* WIX: Installation root of WIX
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -8,7 +8,13 @@ function Disable-InternetExplorerESC {
$UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
Set-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force
Set-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force
$ieProcess = Get-Process -Name Explorer -ErrorAction SilentlyContinue
if ($ieProcess){
Stop-Process -Name Explorer -Force -ErrorAction Continue
}
Write-Host "IE Enhanced Security Configuration (ESC) has been disabled."
}

View File

@@ -1,44 +0,0 @@
###################################################################################
## File: Install-AnalysisExtenstion.ps1
## Desc: Install the Microsoft Analysis Services Projects Visual Studio extension
###################################################################################
$extensionUrl = "https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftAnalysisServicesModelingProjects/2.9.5/vspackage"
$extensionDownloadPath = Join-Path $Env:TEMP "Microsoft.DataTools.AnalysisServices.vsix"
Write-Host "Downloading Microsoft.DataTools.AnalysisServices.vsix extension"
(New-Object System.Net.WebClient).DownloadFile($extensionUrl, $extensionDownloadPath)
Write-Host "Installing Microsoft.DataTools.AnalysisServices.vsix extension"
try
{
$process = Start-Process `
-FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VSIXInstaller.exe" `
-ArgumentList ("/quiet", "$extensionDownloadPath") `
-Wait `
-PassThru
}
catch
{
Write-Host "There is an error during Microsoft.DataTools.AnalysisServices.vsix installation"
$_
exit 1
}
$exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 1001) # 1001 means the extension is already installed
{
Write-Host "Microsoft.DataTools.AnalysisServices.vsix installed successfully"
}
else
{
Write-Host "Unsuccessful exit code returned by the installation process: $exitCode."
exit 1
}
#Cleanup installation files
Remove-Item -Force -Confirm:$false $extensionDownloadPath
exit $exitCode

View File

@@ -1,28 +0,0 @@
################################################################################
## File: Install-Python.ps1
## Desc: Configure python on path with 3.7.* version from the tools cache
## Must run after tools cache is setup
################################################################################
Import-Module -Name ImageHelpers -Force
$python37path = $Env:AGENT_TOOLSDIRECTORY + '/Python/3.7*/x64'
$pythonDir = Get-Item -Path $python37path
if($pythonDir -is [array])
{
Write-Host "More than one python 3.7.* installations found"
Write-Host $pythonDir
exit 1
}
$currentPath = Get-MachinePath
if ($currentPath | Select-String -SimpleMatch $pythonDir.FullName)
{
Write-Host $pythonDir.FullName ' is already in PATH'
exit 0
}
Add-MachinePathItem -PathItem $pythonDir.FullName
Add-MachinePathItem -PathItem "$($pythonDir.FullName)\Scripts"

View File

@@ -0,0 +1,11 @@
###################################################################################
## File: Install-SSDTExtensions.ps1
## Desc: Install the extensions previously known as SSDT package
###################################################################################
Import-Module -Name ImageHelpers -Force
Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftAnalysisServicesModelingProjects/2.9.5/vspackage' -Name 'Microsoft.DataTools.AnalysisServices.vsix' -VSversion "2019"
Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/SSIS/vsextensions/SqlServerIntegrationServicesProjects/3.4/vspackage' -Name 'Microsoft.DataTools.IntegrationServices.exe' -VSversion "2019"
Install-VsixExtension -Url 'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ProBITools/vsextensions/MicrosoftReportProjectsforVisualStudio/2.6.3/vspackage' -Name 'Microsoft.DataTools.ReportingServices.vsix' -VSversion "2019"

View File

@@ -1,53 +0,0 @@
################################################################################
## File: Install-Wix.ps1
## Desc: Install WIX.
################################################################################
function Install-VsixExtension
{
Param
(
[String]$Url,
[String]$Name
)
$ReleaseInPath = 'Enterprise'
$exitCode = -1
try
{
Write-Host "Downloading $Name..."
$FilePath = "${env:Temp}\$Name"
Invoke-WebRequest -Uri $Url -OutFile $FilePath
$ArgumentList = ('/quiet', $FilePath)
Write-Host "Starting Install $Name..."
$process = Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\2019\$ReleaseInPath\Common7\IDE\VSIXInstaller.exe" -ArgumentList $ArgumentList -Wait -PassThru
$exitCode = $process.ExitCode
if ($exitCode -eq 0 -or $exitCode -eq 3010)
{
Write-Host -Object 'Installation successful'
return $exitCode
}
else
{
Write-Host -Object "Non zero exit code returned by the installation process : $exitCode."
return $exitCode
}
}
catch
{
Write-Host -Object "Failed to install the Extension $Name"
Write-Host -Object $_.Exception.Message
return -1
}
}
choco install wixtoolset -y --force
#Installing VS extension 'Wix Toolset Visual Studio 2019 Extension'
$exitCode = Install-VsixExtension -Url 'https://wixtoolset.gallerycdn.vsassets.io/extensions/wixtoolset/wixtoolsetvisualstudio2019extension/1.0.0.4/1563296438961/Votive2019.vsix' -Name 'Votive2019.vsix'
#return $exitCode

View File

@@ -1,18 +0,0 @@
################################################################################
## File: Validate-AnalysisExtenstion.ps1
## Desc: Validate Microsoft Analysis Services Projects Visual Studio extension
################################################################################
Import-Module -Name ImageHelpers -Force
#AnalysisPackage doesn't have any proper name in the state.packages.json file, only id is available
$AnalysisPackageVersion = Get-VS19ExtensionVersion -packageName "04a86fc2-dbd5-4222-848e-911638e487fe"
# Adding description of the software to Markdown
$SoftwareName = "Microsoft Analysis Services Projects Visual Studio Extension"
$Description = @"
_Version:_ $AnalysisPackageVersion<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -0,0 +1,22 @@
################################################################################
## File: Validate-SSDTExtensions.ps1
## Desc: Validate SQL Server Data Tools Visual Studio extensions
################################################################################
Import-Module -Name ImageHelpers -Force
#These extensions don't have any proper name in the state.packages.json file, only id is available, which can be found on extension marketplace download page
$AnalysisPackageVersion = Get-VSExtensionVersion -packageName "04a86fc2-dbd5-4222-848e-911638e487fe"
$IntegrationPackageVersion = Get-VSExtensionVersion -packageName "851E7A09-7B2B-4F06-A15D-BABFCB26B970"
$ReportingPackageVersion = Get-VSExtensionVersion -packageName "717ad572-c4b7-435c-c166-c2969777f718"
# Adding description of the software to Markdown
$SoftwareName = "Microsoft SSDT Visual Studio 2019 Extensions"
$Description = @"
_Microsoft Analysis Services Projects Version:_ $AnalysisPackageVersion<br/>
_SQL Server Integration Services Projects Version:_ $IntegrationPackageVersion<br/>
_Microsoft Reporting Services Projects Version:_ $ReportingPackageVersion<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description