mirror of
https://github.com/actions/runner-images-sangeeth.git
synced 2026-01-06 01:57:28 +08:00
3
.gitattributes
vendored
3
.gitattributes
vendored
@@ -1,2 +1 @@
|
||||
# Do not normalize line endings
|
||||
* -text
|
||||
* text=auto eol=lf
|
||||
@@ -105,3 +105,14 @@ jobs:
|
||||
failTaskOnFailedTests: true
|
||||
displayName: Publish test results
|
||||
condition: always()
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Destroy VM (if build canceled only)'
|
||||
condition: eq(variables['Agent.JobStatus'], 'Canceled')
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/macos/destroy-vm.ps1
|
||||
arguments: -VMName "${{ variables.VirtualMachineName }}" `
|
||||
-VIServer "$(vcenter-server-v2)" `
|
||||
-VIUserName "$(vcenter-username-v2)" `
|
||||
-VIPassword "$(vcenter-password-v2)"
|
||||
|
||||
89
images.CI/macos/destroy-vm.ps1
Normal file
89
images.CI/macos/destroy-vm.ps1
Normal file
@@ -0,0 +1,89 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VMName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIServer,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIUserName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIPassword
|
||||
)
|
||||
|
||||
$ProgressPreference = "SilentlyContinue"
|
||||
$WarningPreference = "SilentlyContinue"
|
||||
|
||||
# connection to a vCenter Server system
|
||||
try
|
||||
{
|
||||
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600
|
||||
$securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force
|
||||
$cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword)
|
||||
$null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop
|
||||
Write-Host "Connection to the vSphere server has been established"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# check vm clone status
|
||||
$chainId = (Get-VIEvent -Entity $VMName).ChainId
|
||||
if ($chainId)
|
||||
{
|
||||
$task = Get-Task -Status Running | Where-Object { ($_.Name -eq 'CloneVM_Task') -and ($_.ExtensionData.Info.EventChainId -in $chainId) }
|
||||
if ($task)
|
||||
{
|
||||
try
|
||||
{
|
||||
Stop-Task -Task $task -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' clone task has been cancelled"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to cancel the task"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# remove a vm
|
||||
$vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue
|
||||
|
||||
if ($vm)
|
||||
{
|
||||
$vmState = $vm.PowerState
|
||||
if ($vmState -ne "PoweredOff")
|
||||
{
|
||||
try
|
||||
{
|
||||
$null = Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' has been powered off"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to shutdown '$VMName'"
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Remove-VM -VM $vm -DeletePermanently -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' has been removed"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to remove '$VMName'"
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "VM '$VMName' not found"
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
|
||||
| Announcements |
|
||||
|-|
|
||||
| [Default Python will be switched to 3.8 on Ubuntu 20.04 on October, 6](https://github.com/actions/virtual-environments/issues/1591) |
|
||||
| [Clang/LLVM 10 will be set as a default one and Clang/LLVM 6 will be deprecated for Ubuntu 20.04 on September, 23](https://github.com/actions/virtual-environments/issues/1536) |
|
||||
***
|
||||
# Ubuntu 18.04.5 LTS
|
||||
- Image Version: 20200920.1
|
||||
- Image Version: 20201004.1
|
||||
|
||||
## Installed Software
|
||||
### Language and Runtime
|
||||
- GNU C++ 7.5.0, 8.4.0, 9.3.0
|
||||
- GNU C++ 7.5.0, 8.4.0, 9.3.0, 10.1.0
|
||||
- GNU Fortran 7.5.0, 8.4.0, 9.3.0
|
||||
- Clang 6.0.0, 8.0.0, 9.0.0
|
||||
- Erlang 11.0.3
|
||||
- Erlang 11.1
|
||||
- Mono 6.12.0.90
|
||||
- Node 12.18.4
|
||||
- Python 2.7.17
|
||||
@@ -19,10 +19,10 @@
|
||||
- PowerShell 7.0.3
|
||||
- Ruby 2.5.1p57
|
||||
- Swift 5.3
|
||||
- Julia 1.5.1
|
||||
- Julia 1.5.2
|
||||
|
||||
### Package Management
|
||||
- Homebrew 2.5.1
|
||||
- Homebrew 2.5.2
|
||||
- Gem 3.1.4
|
||||
- Miniconda 4.8.3
|
||||
- Helm
|
||||
@@ -43,21 +43,22 @@
|
||||
- Ansible 2.9.13
|
||||
- AzCopy10 10.6.0 (available by `azcopy10` alias)
|
||||
- AzCopy7 7.3.0 (available by `azcopy` alias)
|
||||
- Bazel 3.5.0
|
||||
- Bazel 3.5.1
|
||||
- Bazelisk 1.6.1
|
||||
- Buildah
|
||||
- CMake 3.17.0
|
||||
- CodeQL Action Bundle 2.2.5
|
||||
- curl 7.58.0
|
||||
- Docker Compose 1.27.3
|
||||
- Docker Compose 1.27.4
|
||||
- Docker-Buildx 0.4.2
|
||||
- Docker-Moby 19.03.12
|
||||
- Docker-Moby 19.03.13
|
||||
- Git 2.28.0
|
||||
- Git LFS 2.12.0
|
||||
- Git-ftp 1.3.1
|
||||
- Google Cloud SDK 310.0.0
|
||||
- Google Cloud SDK 312.0.0
|
||||
- Haveged 1.9.1
|
||||
- Heroku 7.43.0
|
||||
- HHVM (HipHop VM) 4.75.0
|
||||
- Heroku 7.44.0
|
||||
- HHVM (HipHop VM) 4.77.0
|
||||
- jq 1.5
|
||||
- Kind 0.9.0
|
||||
- Kubectl 1.19.2
|
||||
@@ -65,16 +66,19 @@
|
||||
- Leiningen 2.9.4
|
||||
- m4 1.4.18
|
||||
- Mercurial 4.5.3
|
||||
- Minikube 1.13.0
|
||||
- Minikube 1.13.1
|
||||
- Newman 5.2.0
|
||||
- nvm 0.35.3
|
||||
- Packer 1.6.2
|
||||
- Packer 1.6.4
|
||||
- PhantomJS 2.1.1
|
||||
- Podman
|
||||
- Skopeo 1.1.1
|
||||
- Pulumi 2.11.2
|
||||
- R 4.0.2
|
||||
- Skopeo 1.2.0
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
- SVN 1.9.7
|
||||
- Swig 3.0.12
|
||||
- Terraform 0.13.3
|
||||
- Terraform 0.13.4
|
||||
- unzip 6.00
|
||||
- wget 1.19.4
|
||||
- zip 3.0
|
||||
@@ -82,17 +86,17 @@
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.59
|
||||
- AWS CLI 1.18.142
|
||||
- AWS CLI 1.18.152
|
||||
- AWS CLI Session manager plugin 1.1.61.0
|
||||
- AWS SAM CLI 1.2.0
|
||||
- Azure CLI (azure-cli) 2.11.1
|
||||
- AWS SAM CLI 1.4.0
|
||||
- Azure CLI (azure-cli) 2.12.1
|
||||
- Azure CLI (azure-devops) 0.18.0
|
||||
- GitHub CLI
|
||||
- Hub CLI 2.14.2
|
||||
- Netlify CLI 2.63.2
|
||||
- Netlify CLI 2.64.1
|
||||
- oc CLI 4.5.0
|
||||
- ORAS CLI 0.8.1
|
||||
- Vercel CLI 20.1.0
|
||||
- Vercel CLI 20.1.1
|
||||
|
||||
### Java
|
||||
| Version | Vendor | Environment Variable |
|
||||
@@ -122,26 +126,26 @@
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.55.1
|
||||
- Cargo audit 0.12.0
|
||||
- Cargo audit 0.12.1
|
||||
- Cargo outdated 0.9.11
|
||||
- Cargo clippy 0.0.212
|
||||
- Cbindgen 0.14.5
|
||||
- Cbindgen 0.14.6
|
||||
- Rustfmt 1.4.18
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 85.0.4183.102
|
||||
- Google Chrome 85.0.4183.121
|
||||
- ChromeDriver 85.0.4183.87
|
||||
- Mozilla Firefox 80.0.1
|
||||
- Mozilla Firefox 81.0
|
||||
- Geckodriver 0.27.0
|
||||
|
||||
### .NET Core SDK
|
||||
- 2.1.300 2.1.301 2.1.302 2.1.401 2.1.402 2.1.403 2.1.500 2.1.502 2.1.503 2.1.504 2.1.505 2.1.506 2.1.507 2.1.508 2.1.509 2.1.510 2.1.511 2.1.512 2.1.513 2.1.514 2.1.515 2.1.516 2.1.517 2.1.518 2.1.602 2.1.603 2.1.604 2.1.605 2.1.606 2.1.607 2.1.608 2.1.609 2.1.610 2.1.611 2.1.612 2.1.613 2.1.614 2.1.615 2.1.700 2.1.701 2.1.801 2.1.802 2.1.803 2.1.804 2.1.805 2.1.806 2.1.807 2.1.808 2.1.809 2.1.810 3.0.100 3.0.101 3.0.102 3.0.103 3.1.100 3.1.101 3.1.102 3.1.103 3.1.104 3.1.105 3.1.106 3.1.107 3.1.108 3.1.200 3.1.201 3.1.202 3.1.300 3.1.301 3.1.302 3.1.401 3.1.402
|
||||
|
||||
### Az Module
|
||||
- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0
|
||||
- 1.0.0 1.6.0 2.3.2 2.6.0 2.8.0 3.1.0 3.5.0 3.8.0 4.3.0 4.4.0 4.6.0 4.7.0
|
||||
|
||||
### Databases
|
||||
- Postgre SQL 12.4
|
||||
- Postgre SQL 13.0
|
||||
- MongoDB 4.4.1
|
||||
- sqlite3 3.22.0
|
||||
|
||||
@@ -165,17 +169,17 @@
|
||||
- 3.5.10
|
||||
- 3.6.12
|
||||
- 3.7.9
|
||||
- 3.8.5
|
||||
- 3.8.6
|
||||
|
||||
#### PyPy
|
||||
- 2.7.13 [PyPy 7.3.1]
|
||||
- 3.6.9 [PyPy 7.3.1]
|
||||
- 2.7.13 [PyPy 7.3.2]
|
||||
- 3.6.9 [PyPy 7.3.2]
|
||||
|
||||
#### Node.js
|
||||
- 8.17.0
|
||||
- 10.22.1
|
||||
- 12.18.4
|
||||
- 14.11.0
|
||||
- 14.13.0
|
||||
|
||||
#### Go
|
||||
- 1.11.13
|
||||
|
||||
11
images/linux/post-generation/homebrew-permissions.sh
Normal file
11
images/linux/post-generation/homebrew-permissions.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Fix permissions for Homebrew
|
||||
# https://github.com/actions/virtual-environments/issues/1568
|
||||
brew_folder="/home/linuxbrew/"
|
||||
if [ -d "$brew_folder" ]; then
|
||||
brew_folder_owner=$(ls -ld $brew_folder | awk '{print $3}')
|
||||
if [ "$USER" != "$brew_folder_owner" ]; then
|
||||
chown "$USER":docker -R $brew_folder
|
||||
fi
|
||||
fi
|
||||
11
images/linux/post-generation/rust-permissions.sh
Normal file
11
images/linux/post-generation/rust-permissions.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Fix permissions for the Rust folder
|
||||
# https://github.com/actions/virtual-environments/issues/572
|
||||
rust_folder="/usr/share/rust"
|
||||
if [ -d "$rust_folder" ]; then
|
||||
rust_folder_owner=$(ls -ld $rust_folder | awk '{print $3}')
|
||||
if [ "$USER" != "$rust_folder_owner" ]; then
|
||||
chown "$USER":docker -R $rust_folder
|
||||
fi
|
||||
fi
|
||||
@@ -5,14 +5,16 @@ function Get-OSName {
|
||||
}
|
||||
|
||||
function Get-CPPVersions {
|
||||
$cppVersions = apt list --installed 2>&1 | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$cppVersions = $result.Output | Where-Object { $_ -match "g\+\+-\d+"} | ForEach-Object {
|
||||
& $_.Split("/")[0] --version | Select-Object -First 1 | Take-OutputPart -Part 3
|
||||
} | Sort-Object {[Version]$_}
|
||||
return "GNU C++ " + ($cppVersions -Join ", ")
|
||||
}
|
||||
|
||||
function Get-FortranVersions {
|
||||
$fortranVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$fortranVersions = $result.Output | Where-Object { $_ -match "^gfortran-\d+"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
} | Sort-Object {[Version]$_}
|
||||
@@ -21,7 +23,8 @@ function Get-FortranVersions {
|
||||
|
||||
function Get-ClangVersions {
|
||||
$clangVersions = @()
|
||||
$clangVersions = apt list --installed 2>&1 | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
$clangVersions = $result.Output | Where-Object { $_ -match "^clang-\d+"} | ForEach-Object {
|
||||
$clangCommand = ($_ -Split "/")[0]
|
||||
Invoke-Expression "$clangCommand --version" | Where-Object { $_ -match "clang version" } | ForEach-Object {
|
||||
$_ -match "clang version (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
@@ -153,14 +156,15 @@ function Get-MavenVersion {
|
||||
return "Maven $mavenVersion"
|
||||
}
|
||||
function Get-SbtVersion {
|
||||
$result = sbt -version 2>&1 | Out-String
|
||||
$result -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$result = Get-CommandResult "sbt -version"
|
||||
$result.Output -match "sbt script version: (?<version>\d+\.\d+\.\d+)" | Out-Null
|
||||
$sbtVersion = $Matches.version
|
||||
return "Sbt $sbtVersion"
|
||||
}
|
||||
|
||||
function Get-PHPVersions {
|
||||
return $(apt list --installed 2>&1) | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object {
|
||||
$result = Get-CommandResult "apt list --installed" -Multiline
|
||||
return $result.Output | Where-Object { $_ -match "^php\d+\.\d+/"} | ForEach-Object {
|
||||
$_ -match "now (?<version>\d+\.\d+\.\d+)-" | Out-Null
|
||||
$Matches.version
|
||||
}
|
||||
@@ -241,4 +245,11 @@ function Get-AptPackages {
|
||||
$apt = $toolsetJson.apt
|
||||
$pkgs = ($apt.common_packages + $apt.cmd_packages | Sort-Object) -join ", "
|
||||
return $pkgs
|
||||
}
|
||||
|
||||
function Get-PipxVersion {
|
||||
$result = (Get-CommandResult "pipx --version").Output
|
||||
$result -match "(?<version>\d+\.\d+\.\d+\.?\d*)" | Out-Null
|
||||
$pipxVersion = $Matches.Version
|
||||
return "Pipx $pipxVersion"
|
||||
}
|
||||
@@ -3,6 +3,8 @@ param (
|
||||
$OutputDirectory
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
Import-Module MarkdownPS
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Android.psm1") -DisableNameChecking
|
||||
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Browsers.psm1") -DisableNameChecking
|
||||
@@ -52,7 +54,8 @@ $markdown += New-MDList -Style Unordered -Lines @(
|
||||
)
|
||||
|
||||
$markdown += New-MDHeader "Package Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
|
||||
$packageManagementList = @(
|
||||
(Get-HomebrewVersion),
|
||||
(Get-GemVersion),
|
||||
(Get-MinicondaVersion),
|
||||
@@ -64,6 +67,14 @@ $markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-VcpkgVersion)
|
||||
)
|
||||
|
||||
if (-not (Test-IsUbuntu16)) {
|
||||
$packageManagementList += @(
|
||||
(Get-PipxVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object)
|
||||
|
||||
$markdown += New-MDHeader "Project Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-AntVersion),
|
||||
@@ -113,6 +124,7 @@ $toolsList = @(
|
||||
(Get-TerraformVersion),
|
||||
(Get-UnZipVersion),
|
||||
(Get-WgetVersion),
|
||||
(Get-YamllintVersion),
|
||||
(Get-ZipVersion),
|
||||
(Get-ZstdVersion)
|
||||
)
|
||||
|
||||
@@ -24,7 +24,8 @@ function Get-BazelVersion {
|
||||
}
|
||||
|
||||
function Get-BazeliskVersion {
|
||||
$bazeliskVersion = bazelisk version 2>&1 | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
$result = Get-CommandResult "bazelisk version" -Multiline
|
||||
$bazeliskVersion = $result.Output | Select-String "Bazelisk version:" | Take-OutputPart -Part 2 | Take-OutputPart -Part 0 -Delimiter "v"
|
||||
return "Bazelisk $bazeliskVersion"
|
||||
}
|
||||
|
||||
@@ -77,12 +78,14 @@ function Get-DockerBuildxVersion {
|
||||
}
|
||||
|
||||
function Get-GitVersion {
|
||||
$gitVersion = git --version 2>&1 | Take-OutputPart -Part 2
|
||||
$result = Get-CommandResult "git --version"
|
||||
$gitVersion = $result.Output | Take-OutputPart -Part 2
|
||||
return "Git $gitVersion"
|
||||
}
|
||||
|
||||
function Get-GitLFSVersion {
|
||||
$gitlfsversion = git-lfs --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
$result = Get-CommandResult "git-lfs --version"
|
||||
$gitlfsversion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "Git LFS $gitlfsversion"
|
||||
}
|
||||
|
||||
@@ -215,12 +218,14 @@ function Get-AlibabaCloudCliVersion {
|
||||
}
|
||||
|
||||
function Get-AWSCliVersion {
|
||||
$awsVersion = aws --version 2>&1 | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
$result = Get-CommandResult "aws --version"
|
||||
$awsVersion = $result.Output | Take-OutputPart -Part 0 | Take-OutputPart -Part 1 -Delimiter "/"
|
||||
return "AWS CLI $awsVersion"
|
||||
}
|
||||
|
||||
function Get-AWSCliSessionManagerPluginVersion {
|
||||
return "AWS CLI Session manager plugin $(session-manager-plugin --version 2>&1)"
|
||||
$result = (Get-CommandResult "session-manager-plugin --version").Output
|
||||
return "AWS CLI Session manager plugin $result"
|
||||
}
|
||||
|
||||
function Get-AWSSAMVersion {
|
||||
@@ -253,7 +258,8 @@ function Get-ORASCliVersion {
|
||||
}
|
||||
|
||||
function Get-VerselCliversion {
|
||||
return "$(vercel --version 2>&1 | Select-Object -First 1)"
|
||||
$result = Get-CommandResult "vercel --version" -Multiline
|
||||
return $result.Output | Select-Object -First 1
|
||||
}
|
||||
|
||||
function Get-PulumiVersion {
|
||||
@@ -269,4 +275,8 @@ function Get-RVersion {
|
||||
function Get-SphinxVersion {
|
||||
$sphinxVersion = searchd -h | Select-Object -First 1 | Take-OutputPart -Part 1 | Take-OutputPart -Part 0 -Delimiter "-"
|
||||
return "Sphinx Open Source Search Server $sphinxVersion"
|
||||
}
|
||||
|
||||
function Get-YamllintVersion {
|
||||
return "$(yamllint --version)"
|
||||
}
|
||||
@@ -27,4 +27,4 @@ after=$(df / -Pm | awk 'NR==2{print $4}')
|
||||
# display size
|
||||
echo "Before: $before MB"
|
||||
echo "After : $after MB"
|
||||
echo "Delta : $(($after-$before)) MB"
|
||||
echo "Delta : $(($after-$before)) MB"
|
||||
|
||||
@@ -7,12 +7,6 @@ set -e
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/install.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# There is no stable docker-moby for Ubuntu 20 at the moment
|
||||
if isUbuntu20 ; then
|
||||
add-apt-repository "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/prod testing main"
|
||||
fi
|
||||
|
||||
# Check to see if docker is already installed
|
||||
docker_package=moby
|
||||
|
||||
@@ -52,3 +52,7 @@ else
|
||||
echo "[!] Hub CLI was not installed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Add well-known SSH host keys to known_hosts
|
||||
ssh-keyscan -t rsa github.com >> /etc/ssh/ssh_known_hosts
|
||||
ssh-keyscan -t rsa ssh.dev.azure.com >> /etc/ssh/ssh_known_hosts
|
||||
|
||||
30
images/linux/scripts/installers/pipx-packages.sh
Normal file
30
images/linux/scripts/installers/pipx-packages.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: pipx-packages.sh
|
||||
## Desc: Install tools via pipx
|
||||
################################################################################
|
||||
|
||||
|
||||
export PATH="$PATH:/opt/pipx_bin"
|
||||
|
||||
toolset="$INSTALLER_SCRIPT_FOLDER/toolset.json"
|
||||
pipx_packages=$(jq -r ".pipx[] .package" $toolset)
|
||||
|
||||
for package in $pipx_packages; do
|
||||
python_version=$(jq -r ".pipx[] | select(.package == \"$package\") .python" $toolset)
|
||||
if [ "$python_version" != "null" ]; then
|
||||
python_path="/opt/hostedtoolcache/Python/$python_version*/x64/bin/python$python_version"
|
||||
echo "Install $package into python $python_path"
|
||||
pipx install $package --python $python_path
|
||||
else
|
||||
echo "Install $package into default python"
|
||||
pipx install $package
|
||||
fi
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
cmd=$(jq -r ".pipx[] | select(.package == \"$package\") .cmd" $toolset)
|
||||
if ! command -v $cmd; then
|
||||
echo "$package was not installed"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
@@ -4,6 +4,8 @@
|
||||
## Desc: Post deployment actions
|
||||
################################################################################
|
||||
|
||||
mv -f /imagegeneration/post-generation /opt
|
||||
|
||||
# set chmod -R 777 /opt
|
||||
if [[ -d "/opt" ]]; then
|
||||
echo "chmod -R 777 /opt"
|
||||
@@ -14,3 +16,11 @@ fi
|
||||
rm -rf $HELPER_SCRIPT_FOLDER
|
||||
rm -rf $INSTALLER_SCRIPT_FOLDER
|
||||
chmod 755 $IMAGE_FOLDER
|
||||
|
||||
# Check PATH
|
||||
if [[ $PATH == \"*\" ]]
|
||||
then
|
||||
echo "ERROR: PATH contains quotes"
|
||||
echo "PATH = $PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -6,18 +6,40 @@
|
||||
|
||||
set -e
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/etc-environment.sh
|
||||
source $HELPER_SCRIPTS/os.sh
|
||||
|
||||
# Install Python, Python 3, pip, pip3
|
||||
if isUbuntu16 || isUbuntu18; then
|
||||
apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip
|
||||
apt-get install -y --no-install-recommends python python-dev python-pip python3 python3-dev python3-pip python3-venv
|
||||
fi
|
||||
|
||||
if isUbuntu20; then
|
||||
apt-get install -y --no-install-recommends python3 python3-dev python3-pip
|
||||
apt-get install -y --no-install-recommends python3 python3-dev python3-pip python3-venv
|
||||
ln -s /usr/bin/pip3 /usr/bin/pip
|
||||
fi
|
||||
|
||||
if isUbuntu18 || isUbuntu20 ; then
|
||||
# Install pipx
|
||||
# Set pipx custom directory
|
||||
export PIPX_BIN_DIR=/opt/pipx_bin
|
||||
export PIPX_HOME=/opt/pipx
|
||||
|
||||
python3 -m pip install pipx
|
||||
python3 -m pipx ensurepath
|
||||
|
||||
# Update /etc/environment
|
||||
setEtcEnvironmentVariable "PIPX_BIN_DIR" $PIPX_BIN_DIR
|
||||
setEtcEnvironmentVariable "PIPX_HOME" $PIPX_HOME
|
||||
prependEtcEnvironmentPath $PIPX_BIN_DIR
|
||||
|
||||
# Test pipx
|
||||
if ! command -v pipx; then
|
||||
echo "pipx was not installed or not found on PATH"
|
||||
exit 1
|
||||
fi
|
||||
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"
|
||||
for cmd in python pip python3 pip3; do
|
||||
|
||||
@@ -164,7 +164,6 @@
|
||||
"time",
|
||||
"unzip",
|
||||
"wget",
|
||||
"yamllint",
|
||||
"zip"
|
||||
]
|
||||
},
|
||||
@@ -186,5 +185,15 @@
|
||||
"node:12-alpine",
|
||||
"ubuntu:14.04"
|
||||
]
|
||||
}
|
||||
},
|
||||
"pipx": [
|
||||
{
|
||||
"package": "yamllint",
|
||||
"cmd": "yamllint"
|
||||
},
|
||||
{
|
||||
"package": "aws-sam-cli",
|
||||
"cmd": "sam"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -127,7 +127,6 @@
|
||||
"time",
|
||||
"unzip",
|
||||
"wget",
|
||||
"yamllint",
|
||||
"zip"
|
||||
]
|
||||
},
|
||||
@@ -149,5 +148,15 @@
|
||||
"node:12-alpine",
|
||||
"ubuntu:14.04"
|
||||
]
|
||||
}
|
||||
},
|
||||
"pipx": [
|
||||
{
|
||||
"package": "yamllint",
|
||||
"cmd": "yamllint"
|
||||
},
|
||||
{
|
||||
"package": "aws-sam-cli",
|
||||
"cmd": "sam"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -89,6 +89,11 @@
|
||||
"source": "{{template_dir}}/scripts/installers",
|
||||
"destination": "{{user `installer_script_folder`}}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{ template_dir }}/post-generation",
|
||||
"destination": "{{user `image_folder`}}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{ template_dir }}/scripts/SoftwareReport",
|
||||
|
||||
@@ -92,6 +92,11 @@
|
||||
"source": "{{template_dir}}/scripts/installers",
|
||||
"destination": "{{user `installer_script_folder`}}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{ template_dir }}/post-generation",
|
||||
"destination": "{{user `image_folder`}}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{ template_dir }}/scripts/SoftwareReport",
|
||||
@@ -238,10 +243,10 @@
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
|
||||
"{{template_dir}}/scripts/installers/pipx-packages.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
|
||||
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
|
||||
@@ -94,6 +94,11 @@
|
||||
"source": "{{template_dir}}/scripts/installers",
|
||||
"destination": "{{user `installer_script_folder`}}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{ template_dir }}/post-generation",
|
||||
"destination": "{{user `installer_script_folder`}}"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "{{ template_dir }}/scripts/SoftwareReport",
|
||||
@@ -240,10 +245,10 @@
|
||||
{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
|
||||
"{{template_dir}}/scripts/installers/pipx-packages.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"HELPER_SCRIPTS={{user `helper_script_folder`}}"
|
||||
"INSTALLER_SCRIPT_FOLDER={{user `installer_script_folder`}}"
|
||||
],
|
||||
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
},
|
||||
|
||||
@@ -27,7 +27,4 @@ sudo "/Library/Application Support/VMware Tools/vmware-resolutionSet" 1176 885
|
||||
# sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain
|
||||
curl https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer --output $HOME/AppleWWDRCAG3.cer --silent
|
||||
sudo security add-trusted-cert -d -r unspecified -k /Library/Keychains/System.keychain $HOME/AppleWWDRCAG3.cer
|
||||
rm $HOME/AppleWWDRCAG3.cer
|
||||
|
||||
# Disable spotlight indexing to prevent possible high CPU usage after startup
|
||||
sudo mdutil -ai off
|
||||
rm $HOME/AppleWWDRCAG3.cer
|
||||
@@ -1,7 +1,11 @@
|
||||
source ~/utils/utils.sh
|
||||
|
||||
echo "Installing Microsoft Edge..."
|
||||
# Workaround to install version 85 since webdriver is broken for 86
|
||||
cd "$(brew --repo homebrew/homebrew-cask)"
|
||||
git checkout 81f9d08d2b9b7557c0178621078cf59d2c5db2bc
|
||||
brew cask install microsoft-edge
|
||||
git checkout master
|
||||
|
||||
EDGE_INSTALLATION_PATH="/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
|
||||
EDGE_VERSION=$("$EDGE_INSTALLATION_PATH" --version | cut -d' ' -f 3)
|
||||
@@ -39,7 +43,7 @@ AUTOUPDATE_START="$HOME/Library/Preferences/com.microsoft.autoupdate2.plist"
|
||||
while [ ! -f "$AUTOUPDATE_START" ]
|
||||
do
|
||||
echo "Wait for MS update automatic installation"
|
||||
sleep 30
|
||||
sleep 30
|
||||
done
|
||||
|
||||
echo "kill autoupdate process"
|
||||
|
||||
@@ -56,7 +56,7 @@ Describe "Xcode" {
|
||||
}
|
||||
|
||||
Context "XCODE_DEVELOPER_DIR" {
|
||||
$stableXcodeVersions = $testCases | Where-Object { Test-XcodeStableRelease -Version $_ }
|
||||
$stableXcodeVersions = $XCODE_VERSIONS | ForEach-Object { $_.Split("_")[0] } | Where-Object { Test-XcodeStableRelease -Version $_ }
|
||||
$majorXcodeVersions = $stableXcodeVersions | ForEach-Object { $_.Split(".")[0] } | Select-Object -Unique
|
||||
$testCases = $majorXcodeVersions | ForEach-Object {
|
||||
$majorXcodeVersion = $_
|
||||
|
||||
@@ -220,7 +220,8 @@
|
||||
"3.5.*",
|
||||
"3.6.*",
|
||||
"3.7.*",
|
||||
"3.8.*"
|
||||
"3.8.*",
|
||||
"3.9.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -129,7 +129,8 @@
|
||||
"3.5.*",
|
||||
"3.6.*",
|
||||
"3.7.*",
|
||||
"3.8.*"
|
||||
"3.8.*",
|
||||
"3.9.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -68,7 +68,8 @@
|
||||
"platform" : "darwin",
|
||||
"versions": [
|
||||
"3.7.*",
|
||||
"3.8.*"
|
||||
"3.8.*",
|
||||
"3.9.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,10 @@
|
||||
####################################################################################
|
||||
## File: Install-DACFx.ps1
|
||||
## Desc: Install SQL Server® Data-Tier Application Framework (DACFx) for Windows
|
||||
## Desc: Install SQL Server® Data-Tier Application Framework (DacFx) for Windows
|
||||
####################################################################################
|
||||
|
||||
$InstallerName = "DacFramework.msi"
|
||||
$InstallerUrl = "https://go.microsoft.com/fwlink/?linkid=2134206"
|
||||
$InstallerUrl = "https://go.microsoft.com/fwlink/?linkid=2143544"
|
||||
|
||||
Install-Binary -Url $InstallerUrl -Name $InstallerName
|
||||
|
||||
|
||||
@@ -38,8 +38,11 @@ Choco-Install -PackageName hub
|
||||
|
||||
Add-MachinePathItem "C:\Program Files\Git\bin"
|
||||
|
||||
# Add well-known SSH host keys to ssh_known_hosts
|
||||
if (Test-IsWin16) {
|
||||
$env:Path += ";$env:ProgramFiles\Git\usr\bin\"
|
||||
}
|
||||
|
||||
# Add well-known SSH host keys to ssh_known_hosts
|
||||
ssh-keyscan -t rsa github.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts"
|
||||
ssh-keyscan -t rsa ssh.dev.azure.com >> "C:\Program Files\Git\etc\ssh\ssh_known_hosts"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
################################################################################
|
||||
|
||||
# Get 3 latest versions of GHC
|
||||
[Version[]] $ChocoVersionsOutput = & choco search ghc --allversions --limit-output | Where-Object { $_.StartsWith("ghc|") } | ForEach-Object { $_.TrimStart("ghc|") }
|
||||
[Version[]] $ChocoVersionsOutput = & choco search ghc --allversions | Where-Object { $_.StartsWith("ghc ") -and $_ -match "Approved"} | ForEach-Object { [regex]::matches($_, "\d+(\.\d+){2,}").value }
|
||||
$MajorMinorGroups = $ChocoVersionsOutput | Sort-Object -Descending | Group-Object { $_.ToString(2) } | Select-Object -First 3
|
||||
$VersionsList = $MajorMinorGroups | ForEach-Object { $_.Group | Select-Object -First 1 } | Sort-Object
|
||||
|
||||
|
||||
@@ -165,6 +165,7 @@ $markdown += New-MDNewLine
|
||||
$markdown += New-MDHeader "Database tools" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines @(
|
||||
(Get-AzCosmosDBEmulatorVersion),
|
||||
(Get-DacFxVersion),
|
||||
(Get-SQLPSVersion),
|
||||
(Get-MySQLVersion)
|
||||
)
|
||||
|
||||
@@ -254,3 +254,9 @@ function Get-AZDSVersion {
|
||||
$azdsVersion = $(azds --version) | Select-String "(\d+\.\d+\.\d+.\d+)"
|
||||
return "Azure Dev Spaces CLI $azdsVersion"
|
||||
}
|
||||
|
||||
function Get-DacFxVersion {
|
||||
cd "C:\Program Files\Microsoft SQL Server\150\DAC\bin\"
|
||||
$dacfxversion = (./sqlpackage.exe /version)
|
||||
return "DacFx $dacfxversion"
|
||||
}
|
||||
Reference in New Issue
Block a user