This commit is contained in:
Nikita Bykov
2020-10-28 16:32:22 +03:00
14 changed files with 105 additions and 46 deletions

View File

@@ -17,10 +17,11 @@ A clear and concise description of what the bug is, and why you consider it to b
<!-- Choose "Question", "Bug", or "Feature" -->
**Virtual environments affected**
- [ ] Ubuntu 16.04
- [ ] Ubuntu 18.04
- [ ] Ubuntu 20.04
- [ ] macOS 10.15
- [ ] Ubuntu 16.04 LTS
- [ ] Ubuntu 18.04 LTS
- [ ] Ubuntu 20.04 LTS
- [ ] macOS 11.0
- [ ] Windows Server 2016 R2
- [ ] Windows Server 2019

View File

@@ -25,10 +25,11 @@ assignees: ''
<!-- Choose "Question", "Bug", or "Feature" -->
**Virtual environments affected**
- [ ] Ubuntu 16.04
- [ ] Ubuntu 18.04
- [ ] Ubuntu 20.04
- [ ] macOS 10.15
- [ ] Ubuntu 16.04 LTS
- [ ] Ubuntu 18.04 LTS
- [ ] Ubuntu 20.04 LTS
- [ ] macOS 11.0
- [ ] Windows Server 2016 R2
- [ ] Windows Server 2019

View File

@@ -1,11 +1,11 @@
# CI Validation
name: CI
name: Linter
on:
pull_request:
branches: [$default-branch]
branches: [ main ]
jobs:
build:
name: Lint JSON & MD files
@@ -23,3 +23,7 @@ jobs:
VALIDATE_JSON: true
VALIDATE_MD: true
DEFAULT_BRANCH: ${{ github.base_ref }}
- name: Checking shebang lines in MacOS and Ubuntu releases.
run: ./images.CI/shebang-linter.ps1
shell: pwsh

View File

@@ -9,13 +9,18 @@ For general questions about using the virtual environments or writing your Actio
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu20&redirect=1)
| Ubuntu 18.04 | `ubuntu-latest` or `ubuntu-18.04` | [ubuntu-18.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu18&redirect=1)
| Ubuntu 16.04 | `ubuntu-16.04` | [ubuntu-16.04] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=ubuntu16&redirect=1) |
| macOS 10.15 | `macos-latest` or `macos-10.15` | [macOS-10.15] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=MacOS&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=MacOS&redirect=1)
| macOS 11.0 | `macos-11.0` | [macOS-11.0] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-11.0&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-11.0&redirect=1)
| macOS 10.15 | `macos-latest` or `macos-10.15` | [macOS-10.15] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-10.15&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=macos-10.15&redirect=1)
| Windows Server 2019 | `windows-latest` or `windows-2019` | [windows-2019] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2019&redirect=1)
| Windows Server 2016 | `windows-2016` | [windows-2016] | [![](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&badge=1)](https://actionvirtualenvironmentsstatus.azurewebsites.net/api/status?imageName=windows-2016&redirect=1)
```
The Ubuntu 20.04 virtual environment is currently provided as a preview only.
The "ubuntu-latest" YAML workflow label still uses the Ubuntu 18.04 virtual environment.
```
```
The MacOS 11.0 virtual environment is currently provided as a preview only.
The "macos-latest" YAML workflow label still uses the MacOS 10.15 virtual environment.
```
***Looking for other Linux distributions?*** We do not plan to offer other Linux distributions. We recommend using Docker if you'd like to build using other distributions with the hosted virtual environments. Alternatively, you can leverage [self-hosted runners] and fully customize your environment to your needs.
@@ -56,4 +61,5 @@ Low Impact changes will be pinned in this repository and marked with the [Announ
[Windows-2019]: https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md
[windows-2016]: https://github.com/actions/virtual-environments/blob/main/images/win/Windows2016-Readme.md
[macOS-10.15]: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md
[macOS-11.0]: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11.0-Readme.md
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners

View File

@@ -0,0 +1,43 @@
$ErrorActionPreference = "Stop"
function Validate-Scripts {
Param (
[Parameter(Mandatory=$true)]
[string[]]$Path,
[Parameter(Mandatory=$true)]
[string]$ExpectedShebang
)
$ScriptWithoutShebangLine = @()
Get-ChildItem $path -Recurse -File -Filter "*.sh" | ForEach-Object {
$relativePath = Resolve-Path $_.FullName -Relative
$shebangLine = Get-Content -Path $_.FullName | Select-Object -First 1
if ($shebangLine -eq $ExpectedShebang) {
Write-Host "[+] '$relativePath'"
}
else {
Write-Host "[-] '$relativePath'"
$ScriptWithoutShebangLine += $relativePath
}
}
return $ScriptWithoutShebangLine
}
$PathUbuntu = "./images/linux/scripts"
$PathMacOS = "./images/macos/provision"
$PatternUbuntu = "#!/bin/bash -e"
$PatternMacOS = "#!/bin/bash -e -o pipefail"
$ScriptsWithBrokenShebang = @()
$ScriptsWithBrokenShebang += Validate-Scripts -Path $PathUbuntu -ExpectedShebang $PatternUbuntu
$ScriptsWithBrokenShebang += Validate-Scripts -Path $PathMacOS -ExpectedShebang $PatternMacOS
if ($ScriptsWithBrokenShebang.Length -gt 0) {
Write-Host "`n`n`n##[error] The following scripts have incorrect shebang:"
$ScriptsWithBrokenShebang | ForEach-Object {
Write-Host "##[error] '$_'"
}
Write-Host "`n`n##[error] Expected shebang for scripts in 'images/linux' folder is '$PatternUbuntu'"
Write-Host "##[error] Expected shebang for scripts in 'images/macos' folder is '$PatternMacOS'"
exit 1
else {
Write-Host "All scripts have correct shebang."
}
}

View File

@@ -1,13 +1,23 @@
#!/bin/bash
#!/bin/bash -e
export DEBIAN_FRONTEND=noninteractive
apt-get -yq update
apt-get -yq dist-upgrade
systemctl disable apt-daily.service
# Stop and disable apt-daily upgrade services;
systemctl stop apt-daily.timer
systemctl disable apt-daily.timer
systemctl disable apt-daily.service
systemctl stop apt-daily-upgrade.timer
systemctl disable apt-daily-upgrade.timer
systemctl disable apt-daily-upgrade.service
# This step should completely disable any automatic updates except manual
sudo sed -i 's/APT::Periodic::Update-Package-Lists "1"/APT::Periodic::Update-Package-Lists "0"/' /etc/apt/apt.conf.d/20auto-upgrades
# Enable retry logic for apt up to 10 times
echo "APT::Acquire::Retries \"10\";" > /etc/apt/apt.conf.d/80-retries
# Configure apt to always assume Y
echo "APT::Get::Assume-Yes \"true\";" > /etc/apt/apt.conf.d/90assumeyes

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: repos.sh
## Desc: Installs official Microsoft package repos for the distribution

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: etc-environment.sh
## Desc: Helper functions for source and modify /etc/environment

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: install.sh
## Desc: Helper functions for installing tools

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: install-helpers.sh
## Desc: Helper functions for installing tools

View File

@@ -15,9 +15,13 @@ else
versions=$(jq -r '.azureModules[] | select(.name | contains("az")) | .versions[]' $toolset)
fi
# Try to install and update PowerShellGet before the actual installation
pwsh -Command "Install-Module -Name PowerShellGet -Force"
pwsh -Command "Update-Module -Name PowerShellGet -Force"
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
for version in ${versions[@]}; do
pwsh -Command "Save-Module -Name Az -LiteralPath /usr/share/az_$version -RequiredVersion $version -Force"
pwsh -Command "Save-Module -Name Az -LiteralPath /usr/share/az_$version -RequiredVersion $version -Force -Verbose"
done
# Run tests to determine that the software installed as expected

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
################################################################################
## File: pipx-packages.sh
## Desc: Install tools via pipx

View File

@@ -1,6 +1,6 @@
| Announcements |
|-|
| [[macOS] Built-in Python 2.7 will be used on macOS instead of Homebrew formula on November, 3rd.](https://github.com/actions/virtual-environments/issues/1848) |
| [.NET 5.0 will become a default .NET version on November, 10](https://github.com/actions/virtual-environments/issues/1891) |
| [macOS 11.0 (Big Sur) is available as a preview 🚀](https://github.com/actions/virtual-environments/issues/1814) |
| [[macOS] Default Ruby version will be changed to 2.7 on October, 26](https://github.com/actions/virtual-environments/issues/1775) |
| [Default Xcode will be changed to Xcode 12.0.1 on October, 20](https://github.com/actions/virtual-environments/issues/1712) |
@@ -9,7 +9,7 @@
# macOS 11.0 info
- System Version: macOS 11.0 (20A5395g)
- Kernel Version: Darwin 20.1.0
- Image Version: 20201020.1
- Image Version: 20201024.1
## Installed Software
### Language and Runtime
@@ -34,14 +34,14 @@
- Pip 20.2.3 (python 3.8)
- Bundler version 2.1.4
- Carthage 0.36.0
- CocoaPods 1.9.3
- CocoaPods 1.10.0
- Homebrew 2.5.6
- NPM 6.14.8
- Yarn 1.22.5
- NuGet 5.6.0.6489
- Miniconda 4.8.3
- RubyGems 3.1.4
- Composer 1.10.15
- Composer 2.0.1
### Project Management
- Apache Maven 3.6.3
@@ -50,7 +50,7 @@
### Utilities
- Curl 7.73.0
- Git: 2.29.0
- Git: 2.29.1
- Git LFS: 2.12.0
- GitHub CLI: 1.1.0
- Hub CLI: 2.14.2
@@ -63,10 +63,10 @@
- psql (PostgreSQL) 13.0
- PostgreSQL 13.0
- aria2 1.35.0
- azcopy 10.6.0
- azcopy 10.6.1
- zstd 1.4.5
- bazel 3.7.0
- bazelisk 1.7.3
- bazelisk 1.7.4
- helm v3.3.4+ga61ce56
- mongo v4.4.1
- mongod v4.4.1
@@ -74,13 +74,13 @@
- Newman 5.2.0
### Tools
- Fastlane 2.164.0
- Fastlane 2.165.0
- Cmake 3.18.4
- App Center CLI 2.7.2
- Azure CLI 2.13.0
- AWS CLI 2.0.57
- AWS CLI 2.0.59
- AWS SAM CLI 1.6.2
- AWS Session Manager CLI 1.1.61.0
- AWS Session Manager CLI 1.2.7.0
- Aliyun CLI 3.0.60
- GHCup v0.1.11
- GHC 8.10.2
@@ -94,24 +94,24 @@
### Browsers
- Safari 14.0.1 (16610.2.8.1.1)
- SafariDriver 14.0.1 (16610.2.8.1.1)
- Google Chrome 86.0.4240.80
- Google Chrome 86.0.4240.111
- ChromeDriver 86.0.4240.22
- Microsoft Edge 85.0.564.70
- MSEdgeDriver 85.0.564.70
- Mozilla Firefox 81.0.2
- Mozilla Firefox 82.0
- geckodriver 0.27.0
### Java
| Version | Vendor | Environment Variable |
| --------- | ------------ | -------------------- |
| 1.8.0_265 | AdoptOpenJDK | JAVA_HOME_8_X64 |
| 11.0.8 | AdoptOpenJDK | JAVA_HOME_11_X64 |
| 1.8.0_272 | AdoptOpenJDK | JAVA_HOME_8_X64 |
| 11.0.9 | AdoptOpenJDK | JAVA_HOME_11_X64 |
### Cached Tools
#### Ruby
- 2.4.10
- 2.5.8
- 2.6.6
- 2.7.1
- 2.7.2
#### Python
- 3.7.9
@@ -170,7 +170,6 @@
| Version | Build | Path |
| -------------- | -------- | ---------------------------- |
| 12.2 (beta) | 12B5035g | /Applications/Xcode_12.2.app |
| 12.1 | 12A7403 | /Applications/Xcode_12.1.app |
| 11.7 (default) | 11E801a | /Applications/Xcode_11.7.app |
#### Xcode Support Tools
@@ -180,40 +179,31 @@
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ----------------------- | -------------------- | ------------- |
| macOS 10.15 | macosx10.15 | 11.7, 12.1 |
| macOS 10.15 | macosx10.15 | 11.7 |
| macOS 11.0 | macosx11.0 | 12.2 |
| iOS 13.7 | iphoneos13.7 | 11.7 |
| iOS 14.1 | iphoneos14.1 | 12.1 |
| iOS 14.2 | iphoneos14.2 | 12.2 |
| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
| Simulator - iOS 14.1 | iphonesimulator14.1 | 12.1 |
| Simulator - iOS 14.2 | iphonesimulator14.2 | 12.2 |
| tvOS 13.4 | appletvos13.4 | 11.7 |
| tvOS 14.0 | appletvos14.0 | 12.1 |
| tvOS 14.2 | appletvos14.2 | 12.2 |
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.7 |
| Simulator - tvOS 14.0 | appletvsimulator14.0 | 12.1 |
| Simulator - tvOS 14.2 | appletvsimulator14.2 | 12.2 |
| watchOS 6.2 | watchos6.2 | 11.7 |
| watchOS 7.0 | watchos7.0 | 12.1 |
| watchOS 7.1 | watchos7.1 | 12.2 |
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.7 |
| Simulator - watchOS 7.0 | watchsimulator7.0 | 12.1 |
| Simulator - watchOS 7.1 | watchsimulator7.1 | 12.2 |
| DriverKit 19.0 | driverkit.macosx19.0 | 11.7, 12.1 |
| DriverKit 19.0 | driverkit.macosx19.0 | 11.7 |
| DriverKit 20.0 | driverkit.macosx20.0 | 12.2 |
#### Installed Simulators
| OS | Xcode Version | Simulators |
| ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 13.7 | 11.7 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| iOS 14.1 | 12.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| iOS 14.2 | 12.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
| tvOS 13.4 | 11.7 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 14.0 | 12.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| tvOS 14.2 | 12.2 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
| watchOS 6.2 | 11.7 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
| watchOS 7.0 | 12.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
| watchOS 7.1 | 12.2 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
### Android

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e -o pipefail
BOOTSTRAP_PATH="$1"
ProvisionerPackageUri="$2"
ProvisionerScriptUri="$3"