Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6dd0ebbcde |
@@ -30,7 +30,7 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
|
||||
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] |  |
|
||||
| Windows Server 2025 | `windows-2025` | [windows-2025] |  |
|
||||
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] |  |
|
||||
| Windows Server 2019 | `windows-2019` | [windows-2019] |  |
|
||||
| Windows Server 2019 | `windows-2019` | [windows-2019] |  |
|
||||
|
||||
### Label scheme
|
||||
|
||||
@@ -39,9 +39,9 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
|
||||
|
||||
[ubuntu-24.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
|
||||
[ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
|
||||
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
|
||||
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
|
||||
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
|
||||
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
|
||||
[macOS-13]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
|
||||
[macOS-13-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-arm64-Readme.md
|
||||
[macOS-14]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
|
||||
|
||||
@@ -76,6 +76,7 @@ In any case, you will need these software installed:
|
||||
|
||||
This repository includes a script that assists in generating images in Azure.
|
||||
All you need is an Azure subscription, a resource group in that subscription and a build agent configured as described above.
|
||||
We suggest starting with building the UbuntuMinimal image because it includes only basic software and builds in less than 30 minutes.
|
||||
|
||||
All the commands below should be executed in PowerShell.
|
||||
|
||||
@@ -98,7 +99,7 @@ Finally, run the `GenerateResourcesAndImage` function, setting the mandatory arg
|
||||
- `ResourceGroupName` - the name of the resource group that will store the resulting artifact (e.g., "imagegen-test").
|
||||
The resource group must already exist in your Azure subscription;
|
||||
- `AzureLocation` - the location where resources will be created (e.g., "East US");
|
||||
- `ImageType` - the type of image to build (valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2204", "Ubuntu2404").
|
||||
- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2204", "Ubuntu2404").
|
||||
|
||||
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
|
||||
|
||||
@@ -199,14 +200,11 @@ Then, you can invoke Packer in your CI/CD pipeline using the following commands:
|
||||
|
||||
```powershell
|
||||
packer plugins install github.com/hashicorp/azure 2.2.1
|
||||
|
||||
packer build -only "$BuildName*" `
|
||||
-var "subscription_id=$SubscriptionId" `
|
||||
packer build -var "subscription_id=$SubscriptionId" `
|
||||
-var "client_id=$ClientId" `
|
||||
-var "client_secret=$ClientSecret" `
|
||||
-var "install_password=$InstallPassword" `
|
||||
-var "location=$Location" `
|
||||
-var "image_os=$ImageOS" `
|
||||
-var "managed_image_name=$ImageName" `
|
||||
-var "managed_image_resource_group_name=$ImageResourceGroupName" `
|
||||
-var "tenant_id=$TenantId" `
|
||||
@@ -215,15 +213,13 @@ packer build -only "$BuildName*" `
|
||||
|
||||
Where:
|
||||
|
||||
- `BuildName` - name of the build defined in Packer template's `build{}` block (e.g. "ubuntu-24_04", "windows-2025");
|
||||
- `SubscriptionId` - your Azure Subscription ID;
|
||||
- `ClientId` and `ClientSecret` - Service Principal credentials;
|
||||
- `TenantId` - Azure Tenant ID;
|
||||
- `InstallPassword` - password for the user used to install software (Windows only);
|
||||
- `Location` - location where resources will be created (e.g., "East US");
|
||||
- `ImageOS` - the type of OS that will be deployed as a temporary VM (e.g. "ubuntu24", "win25");
|
||||
- `ImageName` and `ImageResourceGroupName` - name of the resource group where the managed image will be stored;
|
||||
- `TemplatePath` - path to the folder with Packer template files (e.g., "images/windows/templates").
|
||||
- `TemplatePath` - path to the Packer template file (e.g., "images/windows/templates/windows-2022.pkr.hcl").
|
||||
|
||||
### Required variables
|
||||
|
||||
|
||||
@@ -6,9 +6,10 @@ enum ImageType {
|
||||
Windows2025 = 3
|
||||
Ubuntu2204 = 4
|
||||
Ubuntu2404 = 5
|
||||
UbuntuMinimal = 6
|
||||
}
|
||||
|
||||
Function Get-PackerTemplate {
|
||||
Function Get-PackerTemplatePath {
|
||||
param (
|
||||
[Parameter(Mandatory = $True)]
|
||||
[string] $RepositoryRoot,
|
||||
@@ -19,41 +20,33 @@ Function Get-PackerTemplate {
|
||||
switch ($ImageType) {
|
||||
# Note: Double Join-Path is required to support PowerShell 5.1
|
||||
([ImageType]::Windows2019) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2019.pkr.hcl"
|
||||
$imageOS = "win19"
|
||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2019.pkr.hcl"
|
||||
}
|
||||
([ImageType]::Windows2022) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2022.pkr.hcl"
|
||||
$imageOS = "win22"
|
||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2022.pkr.hcl"
|
||||
}
|
||||
([ImageType]::Windows2025) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2025.pkr.hcl"
|
||||
$imageOS = "win25"
|
||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2025.pkr.hcl"
|
||||
}
|
||||
([ImageType]::Ubuntu2204) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "build.ubuntu-22_04.pkr.hcl"
|
||||
$imageOS = "ubuntu22"
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-22.04.pkr.hcl"
|
||||
}
|
||||
([ImageType]::Ubuntu2404) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "build.ubuntu-24_04.pkr.hcl"
|
||||
$imageOS = "ubuntu24"
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-24.04.pkr.hcl"
|
||||
}
|
||||
([ImageType]::UbuntuMinimal) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-minimal.pkr.hcl"
|
||||
}
|
||||
default { throw "Unknown type of image" }
|
||||
}
|
||||
|
||||
$imageTemplatePath = [IO.Path]::Combine($RepositoryRoot, "images", $relativeTemplatePath)
|
||||
# Specific template selection using Packer's "-only" functionality
|
||||
$buildName = [IO.Path]::GetFileName($imageTemplatePath).Split(".")[1]
|
||||
|
||||
if (-not (Test-Path $imageTemplatePath)) {
|
||||
throw "Template for image '$ImageType' doesn't exist on path '$imageTemplatePath'."
|
||||
}
|
||||
|
||||
return [PSCustomObject] @{
|
||||
"BuildName" = $buildName
|
||||
"ImageOS" = $imageOS
|
||||
"Path" = [IO.Path]::GetDirectoryName($imageTemplatePath)
|
||||
}
|
||||
return $imageTemplatePath;
|
||||
}
|
||||
|
||||
Function Show-LatestCommit {
|
||||
@@ -88,7 +81,7 @@ Function GenerateResourcesAndImage {
|
||||
.PARAMETER ResourceGroupName
|
||||
The name of the resource group to store the resulting artifact. Resource group must already exist.
|
||||
.PARAMETER ImageType
|
||||
The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2204, Ubuntu2404.
|
||||
The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2204, Ubuntu2404, UbuntuMinimal.
|
||||
.PARAMETER ManagedImageName
|
||||
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
|
||||
.PARAMETER AzureLocation
|
||||
@@ -162,8 +155,8 @@ Function GenerateResourcesAndImage {
|
||||
}
|
||||
|
||||
# Get template path
|
||||
$PackerTemplate = Get-PackerTemplate -RepositoryRoot $ImageGenerationRepositoryRoot -ImageType $ImageType
|
||||
Write-Debug "Template path: $($PackerTemplate.Path)."
|
||||
$TemplatePath = Get-PackerTemplatePath -RepositoryRoot $ImageGenerationRepositoryRoot -ImageType $ImageType
|
||||
Write-Debug "Template path: $TemplatePath."
|
||||
|
||||
# Prepare list of allowed inbound IP addresses
|
||||
if ($RestrictToAgentIpAddress) {
|
||||
@@ -215,19 +208,17 @@ Function GenerateResourcesAndImage {
|
||||
|
||||
Write-Host "Validating packer template..."
|
||||
& $PackerBinary validate `
|
||||
"-only=$($PackerTemplate.BuildName)*" `
|
||||
"-var=client_id=fake" `
|
||||
"-var=client_secret=fake" `
|
||||
"-var=subscription_id=$($SubscriptionId)" `
|
||||
"-var=tenant_id=fake" `
|
||||
"-var=location=$($AzureLocation)" `
|
||||
"-var=image_os=$($PackerTemplate.ImageOS)" `
|
||||
"-var=managed_image_name=$($ManagedImageName)" `
|
||||
"-var=managed_image_resource_group_name=$($ResourceGroupName)" `
|
||||
"-var=install_password=$($InstallPassword)" `
|
||||
"-var=allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
|
||||
"-var=azure_tags=$($TagsJson)" `
|
||||
$PackerTemplate.Path
|
||||
$TemplatePath
|
||||
|
||||
if ($LastExitCode -ne 0) {
|
||||
throw "Packer template validation failed."
|
||||
@@ -285,19 +276,17 @@ Function GenerateResourcesAndImage {
|
||||
Write-Debug "Tenant id: $TenantId."
|
||||
|
||||
& $PackerBinary build -on-error="$($OnError)" `
|
||||
-only "$($PackerTemplate.BuildName)*" `
|
||||
-var "client_id=$($ServicePrincipalAppId)" `
|
||||
-var "client_secret=$($ServicePrincipalPassword)" `
|
||||
-var "subscription_id=$($SubscriptionId)" `
|
||||
-var "tenant_id=$($TenantId)" `
|
||||
-var "location=$($AzureLocation)" `
|
||||
-var "image_os=$($PackerTemplate.ImageOS)" `
|
||||
-var "managed_image_name=$($ManagedImageName)" `
|
||||
-var "managed_image_resource_group_name=$($ResourceGroupName)" `
|
||||
-var "install_password=$($InstallPassword)" `
|
||||
-var "allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
|
||||
-var "azure_tags=$($TagsJson)" `
|
||||
$PackerTemplate.Path
|
||||
$TemplatePath
|
||||
|
||||
if ($LastExitCode -ne 0) {
|
||||
throw "Failed to build image."
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
param(
|
||||
[String] [Parameter (Mandatory=$true)] $TemplatePath,
|
||||
[String] [Parameter (Mandatory=$true)] $BuildTemplateName,
|
||||
[String] [Parameter (Mandatory=$true)] $ClientId,
|
||||
[String] [Parameter (Mandatory=$false)] $ClientSecret,
|
||||
[String] [Parameter (Mandatory=$true)] $Location,
|
||||
@@ -9,9 +8,7 @@ param(
|
||||
[String] [Parameter (Mandatory=$true)] $TempResourceGroupName,
|
||||
[String] [Parameter (Mandatory=$true)] $SubscriptionId,
|
||||
[String] [Parameter (Mandatory=$true)] $TenantId,
|
||||
[String] [Parameter (Mandatory=$true)] $ImageOS, # e.g. "ubuntu22", "ubuntu22" or "win19", "win22", "win25"
|
||||
[String] [Parameter (Mandatory=$false)] $UseAzureCliAuth = "false",
|
||||
[String] [Parameter (Mandatory=$false)] $PluginVersion = "2.3.3",
|
||||
[String] [Parameter (Mandatory=$false)] $pluginVersion = "2.2.1",
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet,
|
||||
@@ -25,7 +22,7 @@ if (-not (Test-Path $TemplatePath))
|
||||
exit 1
|
||||
}
|
||||
|
||||
$buildName = $($BuildTemplateName).Split(".")[1]
|
||||
$ImageTemplateName = [io.path]::GetFileName($TemplatePath).Split(".")[0]
|
||||
$InstallPassword = [System.GUID]::NewGuid().ToString().ToUpper()
|
||||
|
||||
$SensitiveData = @(
|
||||
@@ -47,15 +44,13 @@ Write-Host "Download packer plugins"
|
||||
packer plugins install github.com/hashicorp/azure $pluginVersion
|
||||
|
||||
Write-Host "Validate packer template"
|
||||
packer validate -syntax-only -only "$buildName*" $TemplatePath
|
||||
packer validate -syntax-only $TemplatePath
|
||||
|
||||
Write-Host "Build $buildName VM"
|
||||
packer build -only "$buildName*" `
|
||||
-var "client_id=$ClientId" `
|
||||
Write-Host "Build $ImageTemplateName VM"
|
||||
packer build -var "client_id=$ClientId" `
|
||||
-var "client_secret=$ClientSecret" `
|
||||
-var "install_password=$InstallPassword" `
|
||||
-var "location=$Location" `
|
||||
-var "image_os=$ImageOS" `
|
||||
-var "managed_image_name=$ImageName" `
|
||||
-var "managed_image_resource_group_name=$ImageResourceGroupName" `
|
||||
-var "subscription_id=$SubscriptionId" `
|
||||
@@ -65,7 +60,6 @@ packer build -only "$buildName*" `
|
||||
-var "virtual_network_resource_group_name=$VirtualNetworkRG" `
|
||||
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
|
||||
-var "allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
|
||||
-var "use_azure_cli_auth=$UseAzureCliAuth" `
|
||||
-var "azure_tags=$azure_tags" `
|
||||
-color=false `
|
||||
$TemplatePath `
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[Windows, Ubuntu, MacOS] CodeQL bundle will contain only platform-specific binaries on 2025-06-30](https://github.com/actions/runner-images/issues/12453) |
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
***
|
||||
# macOS 13
|
||||
- OS Version: macOS 13.7.6 (22H625)
|
||||
- Kernel Version: Darwin 22.6.0
|
||||
- Image Version: 20250630.1295
|
||||
- Image Version: 20250623.1267
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -23,7 +22,7 @@
|
||||
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.19.3
|
||||
- Node.js 20.19.2
|
||||
- Perl 5.40.2
|
||||
- PHP 8.4.8
|
||||
- Python3 3.13.5
|
||||
@@ -34,13 +33,13 @@
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.9
|
||||
- Homebrew 4.5.8
|
||||
- Homebrew 4.5.7
|
||||
- NPM 10.8.2
|
||||
- NuGet 6.3.1.1
|
||||
- Pip3 25.1.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.6.9
|
||||
- Vcpkg 2025 (build from commit 0cb95c860e)
|
||||
- Vcpkg 2025 (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
@@ -52,12 +51,12 @@
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.29.1
|
||||
- bazel 8.3.0
|
||||
- bazel 8.2.1
|
||||
- bazelisk 1.26.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.14.1
|
||||
- Git 2.50.0
|
||||
- Git LFS 3.7.0
|
||||
- Git LFS 3.6.1
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
@@ -65,21 +64,21 @@
|
||||
- jq 1.8.0
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- pkgconf 2.5.0
|
||||
- Unxip 3.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.45
|
||||
- AWS CLI 2.27.40
|
||||
- AWS SAM CLI 1.141.0
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.74.0
|
||||
- Azure CLI (azure-devops) 1.0.2
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.36.1
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.28.0
|
||||
@@ -92,12 +91,12 @@
|
||||
### Browsers
|
||||
- Safari 18.5 (18621.2.5.18.1)
|
||||
- SafariDriver 18.5 (18621.2.5.18.1)
|
||||
- Google Chrome 138.0.7204.50
|
||||
- Google Chrome for Testing 138.0.7204.49
|
||||
- ChromeDriver 138.0.7204.49
|
||||
- Microsoft Edge 138.0.3351.55
|
||||
- Microsoft Edge WebDriver 138.0.3351.55
|
||||
- Mozilla Firefox 140.0.2
|
||||
- Google Chrome 137.0.7151.120
|
||||
- Google Chrome for Testing 137.0.7151.119
|
||||
- ChromeDriver 137.0.7151.119
|
||||
- Microsoft Edge 137.0.3296.93
|
||||
- Microsoft Edge WebDriver 137.0.3296.93
|
||||
- Mozilla Firefox 139.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.33.0
|
||||
|
||||
@@ -141,8 +140,8 @@
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
@@ -150,20 +149,20 @@
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.88
|
||||
- Clippy 0.1.87
|
||||
- Rustfmt 1.8.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.11
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.5.0
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.7.1
|
||||
- PSScriptAnalyzer: 1.24.0
|
||||
|
||||
@@ -243,10 +242,10 @@
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 35.6.11 |
|
||||
| Android Emulator | 35.5.10 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
@@ -269,7 +268,7 @@
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.4.0-55980/ParallelsDesktop-20.4.0-55980.dmg |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.2-55975/ParallelsDesktop-20.3.2-55975.dmg |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[Windows, Ubuntu, MacOS] CodeQL bundle will contain only platform-specific binaries on 2025-06-30](https://github.com/actions/runner-images/issues/12453) |
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
***
|
||||
# macOS 14
|
||||
- OS Version: macOS 14.7.6 (23H626)
|
||||
- Kernel Version: Darwin 23.6.0
|
||||
- Image Version: 20250630.1402
|
||||
- Image Version: 20250623.1377
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -23,7 +22,7 @@
|
||||
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.19.3
|
||||
- Node.js 20.19.2
|
||||
- Perl 5.40.2
|
||||
- PHP 8.4.8
|
||||
- Python3 3.13.5
|
||||
@@ -34,13 +33,13 @@
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.9
|
||||
- Homebrew 4.5.8
|
||||
- Homebrew 4.5.7
|
||||
- NPM 10.8.2
|
||||
- NuGet 6.3.1.1
|
||||
- Pip3 25.1.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.6.9
|
||||
- Vcpkg 2025 (build from commit 0cb95c860e)
|
||||
- Vcpkg 2025 (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
@@ -52,12 +51,12 @@
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.29.1
|
||||
- bazel 8.3.0
|
||||
- bazel 8.2.1
|
||||
- bazelisk 1.26.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.14.1
|
||||
- Git 2.50.0
|
||||
- Git LFS 3.7.0
|
||||
- Git LFS 3.6.1
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
@@ -65,21 +64,21 @@
|
||||
- jq 1.8.0
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- pkgconf 2.5.0
|
||||
- Unxip 3.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.45
|
||||
- AWS CLI 2.27.40
|
||||
- AWS SAM CLI 1.141.0
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.74.0
|
||||
- Azure CLI (azure-devops) 1.0.2
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.36.1
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.28.0
|
||||
@@ -92,12 +91,12 @@
|
||||
### Browsers
|
||||
- Safari 18.5 (19621.2.5.18.1)
|
||||
- SafariDriver 18.5 (19621.2.5.18.1)
|
||||
- Google Chrome 138.0.7204.50
|
||||
- Google Chrome for Testing 138.0.7204.49
|
||||
- ChromeDriver 138.0.7204.49
|
||||
- Microsoft Edge 138.0.3351.55
|
||||
- Microsoft Edge WebDriver 138.0.3351.55
|
||||
- Mozilla Firefox 140.0.2
|
||||
- Google Chrome 137.0.7151.120
|
||||
- Google Chrome for Testing 137.0.7151.119
|
||||
- ChromeDriver 137.0.7151.119
|
||||
- Microsoft Edge 137.0.3296.93
|
||||
- Microsoft Edge WebDriver 137.0.3296.93
|
||||
- Mozilla Firefox 139.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.33.0
|
||||
|
||||
@@ -133,8 +132,8 @@
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
@@ -142,20 +141,20 @@
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.88
|
||||
- Clippy 0.1.87
|
||||
- Rustfmt 1.8.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.11
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.5.0
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.7.1
|
||||
- PSScriptAnalyzer: 1.24.0
|
||||
|
||||
@@ -233,35 +232,35 @@
|
||||
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| OS | Simulators |
|
||||
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 35.6.11 |
|
||||
| Android Emulator | 35.5.10 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
@@ -284,7 +283,7 @@
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.4.0-55980/ParallelsDesktop-20.4.0-55980.dmg |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.2-55975/ParallelsDesktop-20.3.2-55975.dmg |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[macOS] Xcode support policy will be changed on August 11, 2025](https://github.com/actions/runner-images/issues/12541) |
|
||||
| [[macOS] macos-latest YAML-label will use macos-15 in August 2025](https://github.com/actions/runner-images/issues/12520) |
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
***
|
||||
# macOS 14
|
||||
- OS Version: macOS 14.7.6 (23H626)
|
||||
- Kernel Version: Darwin 23.6.0
|
||||
- Image Version: 20250709.1652
|
||||
- Image Version: 20250623.1617
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.302
|
||||
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.411, 9.0.102, 9.0.203, 9.0.301
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 15.0.0
|
||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||
@@ -23,7 +22,7 @@
|
||||
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.19.3
|
||||
- Node.js 20.19.2
|
||||
- Perl 5.40.2
|
||||
- Python3 3.13.5
|
||||
- Ruby 3.3.8
|
||||
@@ -32,55 +31,55 @@
|
||||
- Bundler 2.6.9
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Homebrew 4.5.9
|
||||
- Homebrew 4.5.7
|
||||
- NPM 10.8.2
|
||||
- NuGet 6.3.1.1
|
||||
- Pip3 25.1.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.6.9
|
||||
- Vcpkg 2025 (build from commit c6f09fc73e)
|
||||
- Vcpkg 2025 (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.10
|
||||
- Gradle 8.14.3
|
||||
- Gradle 8.14.2
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.29.1
|
||||
- bazel 8.3.1
|
||||
- bazel 8.2.1
|
||||
- bazelisk 1.26.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.7.1
|
||||
- Git 2.50.1
|
||||
- Git LFS 3.7.0
|
||||
- Git 2.50.0
|
||||
- Git LFS 3.6.1
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.8
|
||||
- jq 1.8.1
|
||||
- jq 1.8.0
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- Unxip 3.2
|
||||
- pkgconf 2.5.0
|
||||
- Unxip 3.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS CLI 2.27.40
|
||||
- AWS SAM CLI 1.141.0
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
- Azure CLI (azure-devops) 1.0.2
|
||||
- Bicep CLI 0.36.177
|
||||
- Azure CLI 2.74.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.36.1
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.29.0
|
||||
- Xcbeautify 2.28.0
|
||||
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||
- Xcodes 1.6.2
|
||||
|
||||
@@ -89,12 +88,12 @@
|
||||
### Browsers
|
||||
- Safari 18.5 (19621.2.5.18.1)
|
||||
- SafariDriver 18.5 (19621.2.5.18.1)
|
||||
- Google Chrome 138.0.7204.101
|
||||
- Google Chrome for Testing 138.0.7204.94
|
||||
- ChromeDriver 138.0.7204.94
|
||||
- Mozilla Firefox 140.0.4
|
||||
- Google Chrome 137.0.7151.120
|
||||
- Google Chrome for Testing 137.0.7151.119
|
||||
- ChromeDriver 137.0.7151.119
|
||||
- Mozilla Firefox 139.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.34.0
|
||||
- Selenium server 4.33.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -125,8 +124,8 @@
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
@@ -134,20 +133,20 @@
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.88
|
||||
- Clippy 0.1.87
|
||||
- Rustfmt 1.8.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.11
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.5.0
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.7.1
|
||||
- PSScriptAnalyzer: 1.24.0
|
||||
|
||||
@@ -255,15 +254,15 @@
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 35.6.11 |
|
||||
| Android Emulator | 35.5.10 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.2.13676358 |
|
||||
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.1.13356709 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -271,7 +270,7 @@
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# macOS 15
|
||||
- OS Version: macOS 15.5 (24F5068b)
|
||||
- Kernel Version: Darwin 24.5.0
|
||||
- Image Version: 20250630.1559
|
||||
- Image Version: 20250623.1531
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Node.js 22.17.0
|
||||
- Node.js 22.16.0
|
||||
- Perl 5.40.2
|
||||
- PHP 8.4.8
|
||||
- Python3 3.13.5
|
||||
@@ -33,12 +33,12 @@
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.9
|
||||
- Homebrew 4.5.8
|
||||
- Homebrew 4.5.7
|
||||
- NPM 10.9.2
|
||||
- Pip3 25.1.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.6.9
|
||||
- Vcpkg 2025 (build from commit 0cb95c860e)
|
||||
- Vcpkg 2025 (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
@@ -50,12 +50,12 @@
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.29.1
|
||||
- bazel 8.3.0
|
||||
- bazel 8.2.1
|
||||
- bazelisk 1.26.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.14.1
|
||||
- Git 2.50.0
|
||||
- Git LFS 3.7.0
|
||||
- Git LFS 3.6.1
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
@@ -63,21 +63,21 @@
|
||||
- jq 1.8.0
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- pkgconf 2.5.0
|
||||
- Unxip 3.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.45
|
||||
- AWS CLI 2.27.40
|
||||
- AWS SAM CLI 1.141.0
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.74.0
|
||||
- Azure CLI (azure-devops) 1.0.2
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.36.1
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.28.0
|
||||
@@ -90,12 +90,12 @@
|
||||
### Browsers
|
||||
- Safari 18.5 (20621.2.5.11.5)
|
||||
- SafariDriver 18.5 (20621.2.5.11.5)
|
||||
- Google Chrome 138.0.7204.50
|
||||
- Google Chrome for Testing 138.0.7204.49
|
||||
- ChromeDriver 138.0.7204.49
|
||||
- Microsoft Edge 138.0.3351.55
|
||||
- Microsoft Edge WebDriver 138.0.3351.55
|
||||
- Mozilla Firefox 140.0.2
|
||||
- Google Chrome 137.0.7151.120
|
||||
- Google Chrome for Testing 137.0.7151.119
|
||||
- ChromeDriver 137.0.7151.119
|
||||
- Microsoft Edge 137.0.3296.93
|
||||
- Microsoft Edge WebDriver 137.0.3296.93
|
||||
- Mozilla Firefox 139.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.33.0
|
||||
|
||||
@@ -130,8 +130,8 @@
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
@@ -139,20 +139,20 @@
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.88
|
||||
- Clippy 0.1.87
|
||||
- Rustfmt 1.8.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.11
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.5.0
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.7.1
|
||||
- PSScriptAnalyzer: 1.24.0
|
||||
|
||||
@@ -257,10 +257,10 @@
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 16.0 |
|
||||
| Android Emulator | 35.6.11 |
|
||||
| Android Emulator | 35.5.10 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
@@ -282,7 +282,7 @@
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.4.0-55980/ParallelsDesktop-20.4.0-55980.dmg |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.2-55975/ParallelsDesktop-20.3.2-55975.dmg |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[Windows, Ubuntu, MacOS] CodeQL bundle will contain only platform-specific binaries on 2025-06-30](https://github.com/actions/runner-images/issues/12453) |
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
***
|
||||
# macOS 15
|
||||
- OS Version: macOS 15.5 (24F74)
|
||||
- Kernel Version: Darwin 24.5.0
|
||||
- Image Version: 20250630.1914
|
||||
- Image Version: 20250623.1849
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -22,7 +21,7 @@
|
||||
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Node.js 22.17.0
|
||||
- Node.js 22.16.0
|
||||
- Perl 5.40.2
|
||||
- Python3 3.13.5
|
||||
- Ruby 3.3.8
|
||||
@@ -31,12 +30,12 @@
|
||||
- Bundler 2.6.9
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Homebrew 4.5.8
|
||||
- Homebrew 4.5.7
|
||||
- NPM 10.9.2
|
||||
- Pip3 25.1.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.6.9
|
||||
- Vcpkg 2025 (build from commit 0cb95c860e)
|
||||
- Vcpkg 2025 (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
@@ -48,12 +47,12 @@
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.29.1
|
||||
- bazel 8.3.0
|
||||
- bazel 8.2.1
|
||||
- bazelisk 1.26.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.7.1
|
||||
- Git 2.50.0
|
||||
- Git LFS 3.7.0
|
||||
- Git LFS 3.6.1
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
@@ -61,21 +60,21 @@
|
||||
- jq 1.8.0
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- pkgconf 2.5.0
|
||||
- Unxip 3.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.45
|
||||
- AWS CLI 2.27.40
|
||||
- AWS SAM CLI 1.141.0
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.74.0
|
||||
- Azure CLI (azure-devops) 1.0.2
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.36.1
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.28.0
|
||||
@@ -87,10 +86,10 @@
|
||||
### Browsers
|
||||
- Safari 18.5 (20621.2.5.11.8)
|
||||
- SafariDriver 18.5 (20621.2.5.11.8)
|
||||
- Google Chrome 138.0.7204.50
|
||||
- Google Chrome for Testing 138.0.7204.49
|
||||
- ChromeDriver 138.0.7204.49
|
||||
- Mozilla Firefox 140.0.2
|
||||
- Google Chrome 137.0.7151.120
|
||||
- Google Chrome for Testing 137.0.7151.119
|
||||
- ChromeDriver 137.0.7151.119
|
||||
- Mozilla Firefox 139.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.33.0
|
||||
|
||||
@@ -123,8 +122,8 @@
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
@@ -132,20 +131,20 @@
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.88
|
||||
- Clippy 0.1.87
|
||||
- Rustfmt 1.8.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.11
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.5.0
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.7.1
|
||||
- PSScriptAnalyzer: 1.24.0
|
||||
|
||||
@@ -253,10 +252,10 @@
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 16.0 |
|
||||
| Android Emulator | 35.6.11 |
|
||||
| Android Emulator | 35.5.10 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
|
||||
@@ -32,14 +32,6 @@ systemValuesArray=(
|
||||
"'kTCCServiceSystemPolicyAllFiles','com.microsoft.wdav.epsext',0,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,1643970979"
|
||||
"'kTCCServiceSystemPolicyNetworkVolumes','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1583997993"
|
||||
"'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068"
|
||||
"'kTCCServiceAccessibility','/opt/hca/hosted-compute-agent',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,NULL,1592919552"
|
||||
"'kTCCServiceAppleEvents','/opt/hca/hosted-compute-agent',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1592919552"
|
||||
"'kTCCServiceMicrophone','/opt/hca/hosted-compute-agent',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
|
||||
"'kTCCServiceScreenCapture','/opt/hca/hosted-compute-agent',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceAccessibility','/opt/hca/start_hca.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1566321319"
|
||||
"'kTCCServicePostEvent','/opt/hca/start_hca.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1566321326"
|
||||
"'kTCCServiceSystemPolicyAllFiles','/opt/hca/start_hca.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1583997993"
|
||||
"'kTCCServiceMicrophone','/opt/hca/start_hca.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
|
||||
)
|
||||
for values in "${systemValuesArray[@]}"; do
|
||||
if is_Sonoma || is_Sequoia; then
|
||||
@@ -75,13 +67,6 @@ userValuesArray=(
|
||||
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1592919552"
|
||||
"'kTCCServiceScreenCapture','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,1592919552"
|
||||
"'kTCCServiceMicrophone','/opt/hca/hosted-compute-agent',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
|
||||
"'kTCCServiceAppleEvents','/opt/hca/hosted-compute-agent',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1592919552"
|
||||
"'kTCCServiceScreenCapture','/opt/hca/hosted-compute-agent',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceAppleEvents','/opt/hca/hosted-compute-agent',1,2,3,1,NULL,NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,1592919552"
|
||||
"'kTCCServiceAppleEvents','/opt/hca/start_hca.sh',1,2,0,1,NULL,NULL,0,'com.apple.systemevents',NULL,NULL,1574241374"
|
||||
"'kTCCServiceSystemPolicyAllFiles','/opt/hca/start_hca.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1583997993"
|
||||
"'kTCCServiceMicrophone','/opt/hca/start_hca.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
|
||||
)
|
||||
for values in "${userValuesArray[@]}"; do
|
||||
if is_Sonoma || is_Sequoia; then
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[Windows, Ubuntu, MacOS] CodeQL bundle will contain only platform-specific binaries on 2025-06-30](https://github.com/actions/runner-images/issues/12453) |
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
| [[Windows & Ubuntu] .NET 6 will be removed from the images on 2025-08-01.](https://github.com/actions/runner-images/issues/12241) |
|
||||
***
|
||||
# Ubuntu 22.04
|
||||
- OS Version: 22.04.5 LTS
|
||||
- Kernel Version: 6.8.0-1030-azure
|
||||
- Image Version: 20250629.1.0
|
||||
- Kernel Version: 6.8.0-1029-azure
|
||||
- Image Version: 20250622.1.0
|
||||
- Systemd version: 249.11-0ubuntu3.16
|
||||
|
||||
## Installed Software
|
||||
@@ -24,7 +23,7 @@
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Mono 6.12.0.200
|
||||
- MSBuild 16.10.1.31701 (Mono 6.12.0.200)
|
||||
- Node.js 20.19.3
|
||||
- Node.js 20.19.2
|
||||
- Perl 5.34.0
|
||||
- Python 3.10.12
|
||||
- Ruby 3.0.2p107
|
||||
@@ -33,15 +32,15 @@
|
||||
### Package Management
|
||||
- cpan 1.64
|
||||
- Helm 3.18.3
|
||||
- Homebrew 4.5.8
|
||||
- Miniconda 25.5.1
|
||||
- Homebrew 4.5.7
|
||||
- Miniconda 25.3.1
|
||||
- Npm 10.8.2
|
||||
- NuGet 6.6.1.2
|
||||
- Pip 22.0.2
|
||||
- Pip3 22.0.2
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.3.5
|
||||
- Vcpkg (build from commit 0cb95c860e)
|
||||
- Vcpkg (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -61,7 +60,7 @@ to accomplish this.
|
||||
### Project Management
|
||||
- Ant 1.10.12
|
||||
- Gradle 8.14.2
|
||||
- Lerna 8.2.3
|
||||
- Lerna 8.2.2
|
||||
- Maven 3.9.10
|
||||
- Sbt 1.11.2
|
||||
|
||||
@@ -69,12 +68,12 @@ to accomplish this.
|
||||
- Ansible 2.17.12
|
||||
- apt-fast 1.10.0
|
||||
- AzCopy 10.29.1 - available by `azcopy` and `azcopy10` aliases
|
||||
- Bazel 8.3.0
|
||||
- Bazel 8.2.1
|
||||
- Bazelisk 1.26.0
|
||||
- Bicep 0.36.1
|
||||
- Buildah 1.23.1
|
||||
- CMake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Docker Amazon ECR Credential Helper 0.10.0
|
||||
- Docker Compose v2 2.36.2
|
||||
- Docker-Buildx 0.25.0
|
||||
@@ -82,14 +81,14 @@ to accomplish this.
|
||||
- Docker Server 28.0.4
|
||||
- Fastlane 2.228.0
|
||||
- Git 2.49.0
|
||||
- Git LFS 3.7.0
|
||||
- Git LFS 3.6.1
|
||||
- Git-ftp 1.6.0
|
||||
- Haveged 1.9.14
|
||||
- Heroku 10.11.0
|
||||
- Heroku 10.10.1
|
||||
- jq 1.6
|
||||
- Kind 0.29.0
|
||||
- Kubectl 1.33.2
|
||||
- Kustomize 5.7.0
|
||||
- Kustomize 5.6.0
|
||||
- Leiningen 2.11.2
|
||||
- MediaInfo 21.09
|
||||
- Mercurial 6.1.1
|
||||
@@ -101,7 +100,7 @@ to accomplish this.
|
||||
- Packer 1.13.1
|
||||
- Parcel 2.15.4
|
||||
- Podman 3.4.4
|
||||
- Pulumi 3.181.0
|
||||
- Pulumi 3.178.0
|
||||
- R 4.5.1
|
||||
- Skopeo 1.4.1
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
@@ -113,18 +112,18 @@ to accomplish this.
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.286
|
||||
- AWS CLI 2.27.45
|
||||
- Alibaba Cloud CLI 3.0.284
|
||||
- AWS CLI 2.27.40
|
||||
- AWS CLI Session Manager Plugin 1.2.707.0
|
||||
- AWS SAM CLI 1.141.0
|
||||
- Azure CLI 2.74.0
|
||||
- Azure CLI (azure-devops) 1.0.2
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- GitHub CLI 2.74.2
|
||||
- Google Cloud CLI 528.0.0
|
||||
- Netlify CLI 22.2.1
|
||||
- OpenShift CLI 4.19.1
|
||||
- Google Cloud CLI 527.0.0
|
||||
- Netlify CLI 22.1.3
|
||||
- OpenShift CLI 4.19.0
|
||||
- ORAS CLI 1.2.3
|
||||
- Vercel CLI 44.2.7
|
||||
- Vercel CLI 43.3.0
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
@@ -146,30 +145,30 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
- Cabal 3.14.2.0
|
||||
- GHC 9.12.2
|
||||
- GHCup 0.1.50.2
|
||||
- Stack 3.7.1
|
||||
- Stack 3.5.1
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.72.0
|
||||
- Cargo audit 0.21.2
|
||||
- Cargo clippy 0.1.88
|
||||
- Cargo clippy 0.1.87
|
||||
- Cargo outdated 0.17.0
|
||||
- Cbindgen 0.29.0
|
||||
- Rustfmt 1.8.0
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 138.0.7204.49
|
||||
- ChromeDriver 138.0.7204.49
|
||||
- Chromium 138.0.7204.0
|
||||
- Microsoft Edge 138.0.3351.55
|
||||
- Microsoft Edge WebDriver 138.0.3351.55
|
||||
- Selenium server 4.34.0
|
||||
- Mozilla Firefox 140.0
|
||||
- Google Chrome 137.0.7151.119
|
||||
- ChromeDriver 137.0.7151.119
|
||||
- Chromium 137.0.7151.0
|
||||
- Microsoft Edge 137.0.3296.93
|
||||
- Microsoft Edge WebDriver 137.0.3296.93
|
||||
- Selenium server 4.33.0
|
||||
- Mozilla Firefox 136.0.4
|
||||
- Geckodriver 0.36.0
|
||||
|
||||
#### Environment variables
|
||||
@@ -217,8 +216,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Python
|
||||
- 3.9.23
|
||||
@@ -242,7 +241,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.5.0
|
||||
- Az: 12.1.0
|
||||
- MarkdownPS: 1.10
|
||||
- Microsoft.Graph: 2.28.0
|
||||
- Pester: 5.7.1
|
||||
@@ -259,7 +258,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 9.0 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.18.1<br>3.22.1<br>3.31.5 |
|
||||
@@ -289,10 +288,10 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
| moby/buildkit:latest | sha256:dbc2dfd9342fd5c891ea94e9774c15cab985681e5ff995a9e366066aa0b9b2b4 | 2025-06-20 |
|
||||
| node:18 | sha256:c6ae79e38498325db67193d391e6ec1d224d96c693a8a4d943498556716d3783 | 2025-03-27 |
|
||||
| node:18-alpine | sha256:8d6421d663b4c28fd3ebc498332f249011d118945588d0a35cb9bc4b8ca09d9e | 2025-03-27 |
|
||||
| node:20 | sha256:6a4de97365bb291992222c4f27cafc338773989712259e809632a873ff45a6ff | 2025-06-23 |
|
||||
| node:20-alpine | sha256:674181320f4f94582c6182eaa151bf92c6744d478be0f1d12db804b7d59b2d11 | 2025-06-23 |
|
||||
| node:22 | sha256:0c0734eb7051babbb3e95cd74e684f940552b31472152edf0bb23e54ab44a0d7 | 2025-06-25 |
|
||||
| node:22-alpine | sha256:5340cbfc2df14331ab021555fdd9f83f072ce811488e705b0e736b11adeec4bb | 2025-06-25 |
|
||||
| node:20 | sha256:ba077fe891ce516b24bdbbd66d27d1e8e8c5a6e6b31ec7e7e559b45c3fca0643 | 2025-05-15 |
|
||||
| node:20-alpine | sha256:d3507a213936fe4ef54760a186e113db5188472d9efdf491686bd94580a1c1e8 | 2025-05-30 |
|
||||
| node:22 | sha256:71bcbb3b215b3fa84b5b167585675072f4c270855e37a599803f1a58141a0716 | 2025-05-21 |
|
||||
| node:22-alpine | sha256:41e4389f3d988d2ed55392df4db1420ad048ae53324a8e2b7c6d19508288107e | 2025-05-30 |
|
||||
| ubuntu:20.04 | sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214 | 2025-04-08 |
|
||||
| ubuntu:22.04 | sha256:01a3ee0b5e413cefaaffc6abe68c9c37879ae3cced56a8e088b1649e5b269eee | 2025-05-30 |
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[Windows, Ubuntu, MacOS] CodeQL bundle will contain only platform-specific binaries on 2025-06-30](https://github.com/actions/runner-images/issues/12453) |
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
| [[Windows & Ubuntu] .NET 6 will be removed from the images on 2025-08-01.](https://github.com/actions/runner-images/issues/12241) |
|
||||
***
|
||||
# Ubuntu 24.04
|
||||
- OS Version: 24.04.2 LTS
|
||||
- Kernel Version: 6.11.0-1015-azure
|
||||
- Image Version: 20250629.1.0
|
||||
- Image Version: 20250622.1.0
|
||||
- Systemd version: 255.4-1ubuntu8.8
|
||||
|
||||
## Installed Software
|
||||
@@ -22,7 +21,7 @@
|
||||
- GNU Fortran: 12.3.0, 13.3.0, 14.2.0
|
||||
- Julia 1.11.5
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Node.js 20.19.3
|
||||
- Node.js 20.19.2
|
||||
- Perl 5.38.2
|
||||
- Python 3.12.3
|
||||
- Ruby 3.2.3
|
||||
@@ -31,14 +30,14 @@
|
||||
### Package Management
|
||||
- cpan 1.64
|
||||
- Helm 3.18.3
|
||||
- Homebrew 4.5.8
|
||||
- Miniconda 25.5.1
|
||||
- Homebrew 4.5.7
|
||||
- Miniconda 25.3.1
|
||||
- Npm 10.8.2
|
||||
- Pip 24.0
|
||||
- Pip3 24.0
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.4.20
|
||||
- Vcpkg (build from commit 0cb95c860e)
|
||||
- Vcpkg (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -58,18 +57,18 @@ to accomplish this.
|
||||
### Project Management
|
||||
- Ant 1.10.14
|
||||
- Gradle 8.14.2
|
||||
- Lerna 8.2.3
|
||||
- Lerna 8.2.2
|
||||
- Maven 3.9.10
|
||||
|
||||
### Tools
|
||||
- Ansible 2.18.6
|
||||
- AzCopy 10.29.1 - available by `azcopy` and `azcopy10` aliases
|
||||
- Bazel 8.3.0
|
||||
- Bazel 8.2.1
|
||||
- Bazelisk 1.26.0
|
||||
- Bicep 0.36.1
|
||||
- Buildah 1.33.7
|
||||
- CMake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Docker Amazon ECR Credential Helper 0.10.0
|
||||
- Docker Compose v2 2.36.2
|
||||
- Docker-Buildx 0.25.0
|
||||
@@ -77,13 +76,13 @@ to accomplish this.
|
||||
- Docker Server 28.0.4
|
||||
- Fastlane 2.228.0
|
||||
- Git 2.49.0
|
||||
- Git LFS 3.7.0
|
||||
- Git LFS 3.6.1
|
||||
- Git-ftp 1.6.0
|
||||
- Haveged 1.9.14
|
||||
- jq 1.7
|
||||
- Kind 0.29.0
|
||||
- Kubectl 1.33.2
|
||||
- Kustomize 5.7.0
|
||||
- Kustomize 5.6.0
|
||||
- MediaInfo 24.01
|
||||
- Mercurial 6.7.2
|
||||
- Minikube 1.34.0
|
||||
@@ -94,7 +93,7 @@ to accomplish this.
|
||||
- Packer 1.13.1
|
||||
- Parcel 2.15.4
|
||||
- Podman 4.9.3
|
||||
- Pulumi 3.181.0
|
||||
- Pulumi 3.178.0
|
||||
- Skopeo 1.13.3
|
||||
- Sphinx Open Source Search Server 2.2.11
|
||||
- yamllint 1.37.1
|
||||
@@ -103,13 +102,13 @@ to accomplish this.
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- AWS CLI 2.27.45
|
||||
- AWS CLI 2.27.40
|
||||
- AWS CLI Session Manager Plugin 1.2.707.0
|
||||
- AWS SAM CLI 1.141.0
|
||||
- Azure CLI 2.74.0
|
||||
- Azure CLI (azure-devops) 1.0.2
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- GitHub CLI 2.74.2
|
||||
- Google Cloud CLI 528.0.0
|
||||
- Google Cloud CLI 527.0.0
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
@@ -131,25 +130,25 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
- Cabal 3.14.2.0
|
||||
- GHC 9.12.2
|
||||
- GHCup 0.1.50.2
|
||||
- Stack 3.7.1
|
||||
- Stack 3.5.1
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Rustfmt 1.8.0
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 138.0.7204.49
|
||||
- ChromeDriver 138.0.7204.49
|
||||
- Chromium 138.0.7204.0
|
||||
- Microsoft Edge 138.0.3351.55
|
||||
- Microsoft Edge WebDriver 138.0.3351.55
|
||||
- Selenium server 4.34.0
|
||||
- Mozilla Firefox 140.0
|
||||
- Google Chrome 137.0.7151.119
|
||||
- ChromeDriver 137.0.7151.119
|
||||
- Chromium 137.0.7151.0
|
||||
- Microsoft Edge 137.0.3296.93
|
||||
- Microsoft Edge WebDriver 137.0.3296.93
|
||||
- Selenium server 4.33.0
|
||||
- Mozilla Firefox 139.0.4
|
||||
- Geckodriver 0.36.0
|
||||
|
||||
#### Environment variables
|
||||
@@ -193,8 +192,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Python
|
||||
- 3.9.23
|
||||
@@ -215,7 +214,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.5.0
|
||||
- Az: 12.1.0
|
||||
- Microsoft.Graph: 2.28.0
|
||||
- Pester: 5.7.1
|
||||
- PSScriptAnalyzer: 1.24.0
|
||||
@@ -231,7 +230,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 12.0 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0 |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.5 |
|
||||
|
||||
@@ -30,16 +30,16 @@ rm -f /etc/apt/sources.list.d/kubernetes.list
|
||||
# Install Helm
|
||||
curl -fsSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
|
||||
|
||||
# Temporarily pinning the version
|
||||
# Download minikube
|
||||
curl -fsSL -O https://storage.googleapis.com/minikube/releases/v1.34.0/minikube-linux-amd64
|
||||
|
||||
# Download and install minikube
|
||||
minikube_version="latest"
|
||||
minikube_binary_path=$(download_with_retry "https://storage.googleapis.com/minikube/releases/${minikube_version}/minikube-linux-amd64")
|
||||
# Supply chain security - minikube
|
||||
minikube_hash=$(get_checksum_from_github_release "kubernetes/minikube" "linux-amd64" "1.34.0" "SHA256")
|
||||
use_checksum_comparison "minikube-linux-amd64" "${minikube_hash}"
|
||||
|
||||
# Supply chain security - Minikube
|
||||
minikube_hash=$(get_checksum_from_github_release "kubernetes/minikube" "linux-amd64" "${minikube_version}" "SHA256")
|
||||
use_checksum_comparison "${minikube_binary_path}" "${minikube_hash}"
|
||||
|
||||
install "${minikube_binary_path}" /usr/local/bin/minikube
|
||||
# Install minikube
|
||||
install minikube-linux-amd64 /usr/local/bin/minikube
|
||||
|
||||
# Install kustomize
|
||||
download_url="https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
################################################################################
|
||||
## File: post-build-validation.sh
|
||||
## Desc: Validate different aspects of the image after build
|
||||
################################################################################
|
||||
|
||||
echo "Test microsoft defender not installed using '-d /opt/microsoft/mdatp'"
|
||||
# Validate Defender not installed test 1
|
||||
if [ -d /opt/microsoft/mdatp ]; then
|
||||
echo "Microsoft Defender for Endpoint is installed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Test microsoft defender not installed using 'systemctl list-units --type=service --all | grep mdatp'"
|
||||
# Validate Defender not installed test 2
|
||||
if systemctl list-units --type=service --all | grep -w mdatp &>/dev/null; then
|
||||
echo "Microsoft Defender for Endpoint is installed."
|
||||
exit 1
|
||||
fi
|
||||
@@ -392,16 +392,15 @@ Describe "Kotlin" {
|
||||
}
|
||||
|
||||
Describe "Ninja" {
|
||||
BeforeAll {
|
||||
New-item -Path "/tmp/ninjaproject" -ItemType Directory -Force
|
||||
New-item -Path "/tmp/ninjaproject" -ItemType Directory -Force
|
||||
Set-Location '/tmp/ninjaproject'
|
||||
@'
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(NinjaTest NONE)
|
||||
'@ | Out-File -FilePath "/tmp/ninjaproject/CMakeLists.txt"
|
||||
}
|
||||
'@ | Out-File -FilePath "./CMakeLists.txt"
|
||||
|
||||
It "Make a simple ninja project" {
|
||||
"cmake -GNinja -S /tmp/ninjaproject -B /tmp/ninjaproject" | Should -ReturnZeroExitCode
|
||||
"cmake -GNinja /tmp/ninjaproject" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "build.ninja file should exist" {
|
||||
@@ -412,8 +411,4 @@ project(NinjaTest NONE)
|
||||
It "Ninja" {
|
||||
"ninja --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
AfterAll {
|
||||
Remove-Item -Path "/tmp/ninjaproject" -Recurse -Force
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
locals {
|
||||
image_properties_map = {
|
||||
"ubuntu22" = {
|
||||
publisher = "canonical"
|
||||
offer = "0001-com-ubuntu-server-jammy"
|
||||
sku = "22_04-lts"
|
||||
os_disk_size_gb = coalesce(var.os_disk_size_gb, 75)
|
||||
},
|
||||
"ubuntu24" = {
|
||||
publisher = "canonical"
|
||||
offer = "ubuntu-24_04-lts"
|
||||
sku = "server-gen1"
|
||||
os_disk_size_gb = coalesce(var.os_disk_size_gb, 75)
|
||||
}
|
||||
}
|
||||
|
||||
image_properties = local.image_properties_map[var.image_os]
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
source "azure-arm" "image" {
|
||||
client_cert_path = var.client_cert_path
|
||||
client_id = var.client_id
|
||||
client_secret = var.client_secret
|
||||
object_id = var.object_id
|
||||
oidc_request_token = var.oidc_request_token
|
||||
oidc_request_url = var.oidc_request_url
|
||||
subscription_id = var.subscription_id
|
||||
tenant_id = var.tenant_id
|
||||
use_azure_cli_auth = var.use_azure_cli_auth
|
||||
|
||||
allowed_inbound_ip_addresses = var.allowed_inbound_ip_addresses
|
||||
build_resource_group_name = var.build_resource_group_name
|
||||
image_offer = local.image_properties.offer
|
||||
image_publisher = local.image_properties.publisher
|
||||
image_sku = local.image_properties.sku
|
||||
image_version = var.source_image_version
|
||||
location = var.location
|
||||
managed_image_name = var.managed_image_name
|
||||
managed_image_resource_group_name = var.managed_image_resource_group_name
|
||||
managed_image_storage_account_type = var.managed_image_storage_account_type
|
||||
os_disk_size_gb = local.image_properties.os_disk_size_gb
|
||||
os_type = var.image_os_type
|
||||
private_virtual_network_with_public_ip = var.private_virtual_network_with_public_ip
|
||||
temp_resource_group_name = var.temp_resource_group_name
|
||||
virtual_network_name = var.virtual_network_name
|
||||
virtual_network_resource_group_name = var.virtual_network_resource_group_name
|
||||
virtual_network_subnet_name = var.virtual_network_subnet_name
|
||||
vm_size = var.vm_size
|
||||
winrm_username = var.winrm_username
|
||||
|
||||
shared_image_gallery_destination {
|
||||
subscription = var.subscription_id
|
||||
gallery_name = var.gallery_name
|
||||
resource_group = var.gallery_resource_group_name
|
||||
image_name = var.gallery_image_name
|
||||
image_version = var.gallery_image_version
|
||||
storage_account_type = var.gallery_storage_account_type
|
||||
}
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
+230
-8
@@ -1,6 +1,234 @@
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "dockerhub_login" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_LOGIN")}"
|
||||
}
|
||||
|
||||
variable "dockerhub_password" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_PASSWORD")}"
|
||||
}
|
||||
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/helpers"
|
||||
}
|
||||
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "ubuntu22"
|
||||
}
|
||||
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "/imagegeneration/imagedata.json"
|
||||
}
|
||||
|
||||
variable "installer_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/installers"
|
||||
}
|
||||
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_D4s_v4"
|
||||
}
|
||||
|
||||
variable "image_offer" {
|
||||
type = string
|
||||
default = "0001-com-ubuntu-server-jammy"
|
||||
}
|
||||
|
||||
variable "image_publisher" {
|
||||
type = string
|
||||
default = "canonical"
|
||||
}
|
||||
|
||||
variable "image_sku" {
|
||||
type = string
|
||||
default = "22_04-lts"
|
||||
}
|
||||
|
||||
variable "gallery_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_version" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_VERSION")}"
|
||||
}
|
||||
|
||||
variable "gallery_storage_account_type" {
|
||||
type = string
|
||||
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
|
||||
}
|
||||
|
||||
variable "use_azure_cli_auth" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "os_disk_size_gb" {
|
||||
type = number
|
||||
default = 75
|
||||
}
|
||||
|
||||
variable "image_os_type" {
|
||||
type = string
|
||||
default = "Linux"
|
||||
}
|
||||
|
||||
source "azure-arm" "build_image" {
|
||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
||||
build_resource_group_name = "${var.build_resource_group_name}"
|
||||
client_cert_path = "${var.client_cert_path}"
|
||||
client_id = "${var.client_id}"
|
||||
client_secret = "${var.client_secret}"
|
||||
use_azure_cli_auth = var.use_azure_cli_auth
|
||||
image_offer = "${var.image_offer}"
|
||||
image_publisher = "${var.image_publisher}"
|
||||
image_sku = "${var.image_sku}"
|
||||
location = "${var.location}"
|
||||
managed_image_name = "${var.managed_image_name}"
|
||||
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
|
||||
os_disk_size_gb = var.os_disk_size_gb
|
||||
os_type = var.image_os_type
|
||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
||||
subscription_id = "${var.subscription_id}"
|
||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
||||
tenant_id = "${var.tenant_id}"
|
||||
virtual_network_name = "${var.virtual_network_name}"
|
||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
||||
vm_size = "${var.vm_size}"
|
||||
|
||||
shared_image_gallery_destination {
|
||||
subscription = var.subscription_id
|
||||
gallery_name = var.gallery_name
|
||||
resource_group = var.gallery_resource_group_name
|
||||
image_name = var.gallery_image_name
|
||||
image_version = var.gallery_image_version
|
||||
storage_account_type = var.gallery_storage_account_type
|
||||
}
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.azure-arm.image"]
|
||||
name = "ubuntu-22_04"
|
||||
sources = ["source.azure-arm.build_image"]
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
@@ -238,12 +466,6 @@ build {
|
||||
inline = ["mkdir -p /etc/vsts", "cp /tmp/ubuntu2204.conf /etc/vsts/machine_instance.conf"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/post-build-validation.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["sleep 30", "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"]
|
||||
+230
-8
@@ -1,6 +1,234 @@
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "dockerhub_login" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_LOGIN")}"
|
||||
}
|
||||
|
||||
variable "dockerhub_password" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_PASSWORD")}"
|
||||
}
|
||||
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/helpers"
|
||||
}
|
||||
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "ubuntu24"
|
||||
}
|
||||
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "/imagegeneration/imagedata.json"
|
||||
}
|
||||
|
||||
variable "installer_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/installers"
|
||||
}
|
||||
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_D4s_v4"
|
||||
}
|
||||
|
||||
variable "image_offer" {
|
||||
type = string
|
||||
default = "ubuntu-24_04-lts"
|
||||
}
|
||||
|
||||
variable "image_publisher" {
|
||||
type = string
|
||||
default = "canonical"
|
||||
}
|
||||
|
||||
variable "image_sku" {
|
||||
type = string
|
||||
default = "server-gen1"
|
||||
}
|
||||
|
||||
variable "gallery_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_version" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_VERSION")}"
|
||||
}
|
||||
|
||||
variable "gallery_storage_account_type" {
|
||||
type = string
|
||||
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
|
||||
}
|
||||
|
||||
variable "use_azure_cli_auth" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "os_disk_size_gb" {
|
||||
type = number
|
||||
default = 75
|
||||
}
|
||||
|
||||
variable "image_os_type" {
|
||||
type = string
|
||||
default = "Linux"
|
||||
}
|
||||
|
||||
source "azure-arm" "build_image" {
|
||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
||||
build_resource_group_name = "${var.build_resource_group_name}"
|
||||
client_cert_path = "${var.client_cert_path}"
|
||||
client_id = "${var.client_id}"
|
||||
client_secret = "${var.client_secret}"
|
||||
use_azure_cli_auth = var.use_azure_cli_auth
|
||||
image_offer = "${var.image_offer}"
|
||||
image_publisher = "${var.image_publisher}"
|
||||
image_sku = "${var.image_sku}"
|
||||
location = "${var.location}"
|
||||
managed_image_name = "${var.managed_image_name}"
|
||||
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
|
||||
os_disk_size_gb = var.os_disk_size_gb
|
||||
os_type = var.image_os_type
|
||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
||||
subscription_id = "${var.subscription_id}"
|
||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
||||
tenant_id = "${var.tenant_id}"
|
||||
virtual_network_name = "${var.virtual_network_name}"
|
||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
||||
vm_size = "${var.vm_size}"
|
||||
|
||||
shared_image_gallery_destination {
|
||||
subscription = var.subscription_id
|
||||
gallery_name = var.gallery_name
|
||||
resource_group = var.gallery_resource_group_name
|
||||
image_name = var.gallery_image_name
|
||||
image_version = var.gallery_image_version
|
||||
storage_account_type = var.gallery_storage_account_type
|
||||
}
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.azure-arm.image"]
|
||||
name = "ubuntu-24_04"
|
||||
sources = ["source.azure-arm.build_image"]
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
@@ -217,12 +445,6 @@ provisioner "shell" {
|
||||
scripts = ["${path.root}/../scripts/build/configure-system.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${var.helper_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/post-build-validation.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["sleep 30", "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"]
|
||||
@@ -0,0 +1,282 @@
|
||||
|
||||
locals {
|
||||
image_os = "ubuntu22"
|
||||
|
||||
toolset_file_name = "toolset-2204.json"
|
||||
|
||||
image_folder = "/imagegeneration"
|
||||
helper_script_folder = "/imagegeneration/helpers"
|
||||
installer_script_folder = "/imagegeneration/installers"
|
||||
imagedata_file = "/imagegeneration/imagedata.json"
|
||||
|
||||
managed_image_name = var.managed_image_name != "" ? var.managed_image_name : "packer-${var.image_os}-${var.image_version}"
|
||||
}
|
||||
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_LOCATION")}"
|
||||
}
|
||||
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_D4s_v4"
|
||||
}
|
||||
|
||||
source "azure-arm" "build_image" {
|
||||
location = "${var.location}"
|
||||
|
||||
// Auth
|
||||
tenant_id = "${var.tenant_id}"
|
||||
subscription_id = "${var.subscription_id}"
|
||||
client_id = "${var.client_id}"
|
||||
client_secret = "${var.client_secret}"
|
||||
client_cert_path = "${var.client_cert_path}"
|
||||
|
||||
// Base image
|
||||
image_offer = "0001-com-ubuntu-server-jammy"
|
||||
image_publisher = "canonical"
|
||||
image_sku = "22_04-lts"
|
||||
|
||||
// Target location
|
||||
managed_image_name = "${local.managed_image_name}"
|
||||
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
|
||||
|
||||
// Resource group for VM
|
||||
build_resource_group_name = "${var.build_resource_group_name}"
|
||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
||||
|
||||
// Networking for VM
|
||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
||||
virtual_network_name = "${var.virtual_network_name}"
|
||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
||||
|
||||
// VM Configuration
|
||||
vm_size = "${var.vm_size}"
|
||||
os_disk_size_gb = "75"
|
||||
os_type = "Linux"
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.azure-arm.build_image"]
|
||||
|
||||
// Create folder to store temporary data
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["mkdir ${local.image_folder}", "chmod 777 ${local.image_folder}"]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.helper_script_folder}"
|
||||
source = "${path.root}/../scripts/helpers"
|
||||
}
|
||||
|
||||
// Add apt wrapper to implement retries
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
script = "${path.root}/../scripts/build/configure-apt-mock.sh"
|
||||
}
|
||||
|
||||
// Install MS package repos, Configure apt
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${local.helper_script_folder}","DEBIAN_FRONTEND=noninteractive"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/install-ms-repos.sh",
|
||||
"${path.root}/../scripts/build/configure-apt.sh"
|
||||
]
|
||||
}
|
||||
|
||||
// Configure limits
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
script = "${path.root}/../scripts/build/configure-limits.sh"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.installer_script_folder}"
|
||||
source = "${path.root}/../scripts/build"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}"
|
||||
sources = [
|
||||
"${path.root}/../assets/post-gen",
|
||||
"${path.root}/../scripts/tests"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.installer_script_folder}/toolset.json"
|
||||
source = "${path.root}/../toolsets/${local.toolset_file_name}"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["mv ${local.image_folder}/post-gen ${local.image_folder}/post-generation"]
|
||||
}
|
||||
|
||||
// Generate image data file
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGEDATA_FILE=${local.imagedata_file}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/configure-image-data.sh"]
|
||||
}
|
||||
|
||||
// Create /etc/environment, configure waagent etc.
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_VERSION=${var.image_version}", "IMAGE_OS=${local.image_os}", "HELPER_SCRIPTS=${local.helper_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/configure-environment.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["DEBIAN_FRONTEND=noninteractive", "HELPER_SCRIPTS=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/install-apt-vital.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["DEBIAN_FRONTEND=noninteractive", "HELPER_SCRIPTS=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/install-powershell.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPTS=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} pwsh -f {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/Install-PowerShellModules.ps1"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["DEBIAN_FRONTEND=noninteractive", "HELPER_SCRIPTS=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/install-git.sh",
|
||||
"${path.root}/../scripts/build/install-git-lfs.sh",
|
||||
"${path.root}/../scripts/build/install-github-cli.sh",
|
||||
"${path.root}/../scripts/build/install-zstd.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
expect_disconnect = true
|
||||
inline = ["echo 'Reboot VM'", "sudo reboot"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
pause_before = "1m0s"
|
||||
scripts = ["${path.root}/../scripts/build/cleanup.sh"]
|
||||
start_retry_timeout = "10m"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["HELPER_SCRIPT_FOLDER=${local.helper_script_folder}", "INSTALLER_SCRIPT_FOLDER=${local.installer_script_folder}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
scripts = ["${path.root}/../scripts/build/configure-system.sh"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = ["sleep 30", "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"]
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,171 +0,0 @@
|
||||
// Authentication related variables
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
variable "object_id" {
|
||||
type = string
|
||||
default = "${env("ARM_OBJECT_ID")}"
|
||||
}
|
||||
variable "oidc_request_token" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "oidc_request_url" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
variable "use_azure_cli_auth" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
// Azure environment related variables
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RG_NAME")}"
|
||||
}
|
||||
variable "gallery_image_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_NAME")}"
|
||||
}
|
||||
variable "gallery_image_version" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_VERSION")}"
|
||||
}
|
||||
variable "gallery_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_NAME")}"
|
||||
}
|
||||
variable "gallery_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_RG_NAME")}"
|
||||
}
|
||||
variable "gallery_storage_account_type" {
|
||||
type = string
|
||||
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
|
||||
}
|
||||
variable "image_os_type" {
|
||||
type = string
|
||||
default = "Linux"
|
||||
}
|
||||
variable "location" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
variable "managed_image_storage_account_type" {
|
||||
type = string
|
||||
default = "Premium_LRS"
|
||||
}
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
variable "os_disk_size_gb" {
|
||||
type = number
|
||||
default = null
|
||||
}
|
||||
variable "source_image_version" {
|
||||
type = string
|
||||
default = "latest"
|
||||
}
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_D4s_v4"
|
||||
}
|
||||
variable "winrm_username" { // The username used to connect to the VM via WinRM
|
||||
type = string // Also applies to the username used to create the VM
|
||||
default = "packer"
|
||||
}
|
||||
|
||||
// Image related variables
|
||||
variable "dockerhub_login" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_LOGIN")}"
|
||||
}
|
||||
variable "dockerhub_password" {
|
||||
type = string
|
||||
default = "${env("DOCKERHUB_PASSWORD")}"
|
||||
}
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/helpers"
|
||||
}
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration"
|
||||
}
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "/imagegeneration/imagedata.json"
|
||||
}
|
||||
variable "installer_script_folder" {
|
||||
type = string
|
||||
default = "/imagegeneration/installers"
|
||||
}
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
variable "install_user" {
|
||||
type = string
|
||||
default = "installer"
|
||||
}
|
||||
@@ -5,10 +5,11 @@
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
| [[Windows & Ubuntu] .NET 6 will be removed from the images on 2025-08-01.](https://github.com/actions/runner-images/issues/12241) |
|
||||
| [The Windows 2019 Actions runner image will begin deprecation on 2025-06-01 and will be fully unsupported by 2025-06-30](https://github.com/actions/runner-images/issues/12045) |
|
||||
| [Windows Server 2025 is now available](https://github.com/actions/runner-images/issues/11228) |
|
||||
***
|
||||
# Windows Server 2022
|
||||
- OS Version: 10.0.20348 Build 3807
|
||||
- Image Version: 20250701.1.0
|
||||
- Image Version: 20250623.1.0
|
||||
|
||||
## Windows features
|
||||
- Windows Subsystem for Linux (WSLv1): Enabled
|
||||
@@ -20,7 +21,7 @@
|
||||
- Go 1.24.4
|
||||
- Julia 1.11.5
|
||||
- Kotlin 2.1.10
|
||||
- LLVM 20.1.7
|
||||
- LLVM 18.1.8
|
||||
- Node 20.19.3
|
||||
- Perl 5.32.1
|
||||
- PHP 8.4.8
|
||||
@@ -31,13 +32,13 @@
|
||||
- Chocolatey 2.4.3
|
||||
- Composer 2.8.9
|
||||
- Helm 3.18.2
|
||||
- Miniconda 25.5.1 (pre-installed on the image but not added to PATH)
|
||||
- Miniconda 25.3.1 (pre-installed on the image but not added to PATH)
|
||||
- NPM 10.8.2
|
||||
- NuGet 6.14.0.116
|
||||
- pip 25.1.1 (python 3.9)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.22
|
||||
- Vcpkg (build from commit f9b54c1c53)
|
||||
- Vcpkg (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -56,18 +57,18 @@
|
||||
- 7zip 24.09
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.29.1
|
||||
- Bazel 8.3.1
|
||||
- Bazel 8.2.1
|
||||
- Bazelisk 1.26.0
|
||||
- Bicep 0.36.1
|
||||
- Cabal 3.14.2.0
|
||||
- CMake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Docker 27.5.1
|
||||
- Docker Compose v2 2.32.2
|
||||
- Docker-wincred 0.9.3
|
||||
- ghc 9.12.2
|
||||
- Git 2.50.0.windows.2
|
||||
- Git LFS 3.7.0
|
||||
- Git 2.50.0.windows.1
|
||||
- Git LFS 3.6.1
|
||||
- ImageMagick 7.1.1-47
|
||||
- InnoSetup 6.4.0
|
||||
- jq 1.7.1
|
||||
@@ -81,10 +82,10 @@
|
||||
- NSIS 3.10
|
||||
- OpenSSL 1.1.1w
|
||||
- Packer 1.12.0
|
||||
- Pulumi 3.181.0
|
||||
- Pulumi 3.178.0
|
||||
- R 4.4.2
|
||||
- Service Fabric SDK 10.1.2493.9590
|
||||
- Stack 3.7.1
|
||||
- Stack 3.5.1
|
||||
- Subversion (SVN) 1.14.5
|
||||
- Swig 4.1.1
|
||||
- VSWhere 3.1.7
|
||||
@@ -95,18 +96,18 @@
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.286
|
||||
- AWS CLI 2.27.45
|
||||
- AWS SAM CLI 1.142.0
|
||||
- Alibaba Cloud CLI 3.0.284
|
||||
- AWS CLI 2.27.40
|
||||
- AWS SAM CLI 1.141.0
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
- Azure DevOps CLI extension 1.0.2
|
||||
- Azure CLI 2.74.0
|
||||
- Azure DevOps CLI extension 1.0.1
|
||||
- GitHub CLI 2.74.2
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
@@ -114,18 +115,18 @@
|
||||
- cargo-audit 0.21.2
|
||||
- cargo-outdated 0.17.0
|
||||
- cbindgen 0.29.0
|
||||
- Clippy 0.1.88
|
||||
- Clippy 0.1.87
|
||||
- Rustfmt 1.8.0
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 138.0.7204.97
|
||||
- Chrome Driver 138.0.7204.92
|
||||
- Microsoft Edge 138.0.3351.55
|
||||
- Microsoft Edge Driver 138.0.3351.55
|
||||
- Mozilla Firefox 140.0.2
|
||||
- Google Chrome 137.0.7151.120
|
||||
- Chrome Driver 137.0.7151.119
|
||||
- Microsoft Edge 137.0.3296.93
|
||||
- Microsoft Edge Driver 137.0.3296.93
|
||||
- Mozilla Firefox 139.0.4
|
||||
- Gecko Driver 0.36.0
|
||||
- IE Driver 4.14.0.0
|
||||
- Selenium server 4.34.0
|
||||
- Selenium server 4.33.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -169,8 +170,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Python
|
||||
- 3.9.13
|
||||
@@ -221,7 +222,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
| Name | Version | ConfigFile | ServiceName | ServiceStatus | ListenPort |
|
||||
| ------ | ------- | ------------------------------------- | ----------- | ------------- | ---------- |
|
||||
| Apache | 2.4.55 | C:\tools\Apache24\conf\httpd.conf | Apache | Stopped | 80 |
|
||||
| Nginx | 1.29.0 | C:\tools\nginx-1.29.0\conf\nginx.conf | nginx | Stopped | 80 |
|
||||
| Nginx | 1.27.5 | C:\tools\nginx-1.27.5\conf\nginx.conf | nginx | Stopped | 80 |
|
||||
|
||||
### Visual Studio Enterprise 2022
|
||||
| Name | Version | Path |
|
||||
@@ -498,11 +499,11 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
- nbgv 3.7.115+d31f50f4d1
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.11
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### Powershell Modules
|
||||
- Az: 12.5.0
|
||||
- AWSPowershell: 5.0.5
|
||||
- Az: 12.4.0
|
||||
- AWSPowershell: 4.1.845
|
||||
- DockerMsftProvider: 1.0.0.8
|
||||
- MarkdownPS: 1.10
|
||||
- Microsoft.Graph: 2.28.0
|
||||
@@ -517,10 +518,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 8.0 |
|
||||
| Android Emulator | 35.6.11 |
|
||||
| Android Emulator | 35.5.10 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.18.1<br>3.22.1<br>3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
| [[Windows, Ubuntu, MacOS] Breaking change: Updating Azure PowerShell Module version as 12.5.x from 2025-07-04](https://github.com/actions/runner-images/issues/12333) |
|
||||
| [[Windows & Ubuntu] .NET 6 will be removed from the images on 2025-08-01.](https://github.com/actions/runner-images/issues/12241) |
|
||||
| [The Windows 2019 Actions runner image will begin deprecation on 2025-06-01 and will be fully unsupported by 2025-06-30](https://github.com/actions/runner-images/issues/12045) |
|
||||
| [Windows Server 2025 is now available](https://github.com/actions/runner-images/issues/11228) |
|
||||
***
|
||||
# Windows Server 2025
|
||||
- OS Version: 10.0.26100 Build 4349
|
||||
- Image Version: 20250629.1.0
|
||||
- Image Version: 20250623.1.0
|
||||
|
||||
## Windows features
|
||||
- Windows Subsystem for Linux (WSLv1): Enabled
|
||||
@@ -21,8 +22,8 @@
|
||||
- Go 1.24.4
|
||||
- Julia 1.11.5
|
||||
- Kotlin 2.1.10
|
||||
- LLVM 20.1.7
|
||||
- Node 22.17.0
|
||||
- LLVM 20.1.4
|
||||
- Node 22.16.0
|
||||
- Perl 5.40.0
|
||||
- PHP 8.4.8
|
||||
- Python 3.9.13
|
||||
@@ -32,13 +33,13 @@
|
||||
- Chocolatey 2.4.3
|
||||
- Composer 2.8.9
|
||||
- Helm 3.18.2
|
||||
- Miniconda 25.5.1 (pre-installed on the image but not added to PATH)
|
||||
- Miniconda 25.3.1 (pre-installed on the image but not added to PATH)
|
||||
- NPM 10.9.2
|
||||
- NuGet 6.14.0.116
|
||||
- pip 25.1.1 (python 3.9)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.22
|
||||
- Vcpkg (build from commit 0cb95c860e)
|
||||
- Vcpkg (build from commit 0cf34c184c)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -57,12 +58,12 @@
|
||||
- 7zip 24.09
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.29.1
|
||||
- Bazel 8.3.0
|
||||
- Bazel 8.2.1
|
||||
- Bazelisk 1.26.0
|
||||
- Bicep 0.36.1
|
||||
- Cabal 3.14.2.0
|
||||
- CMake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- CodeQL Action Bundle 2.22.0
|
||||
- Docker 27.5.1
|
||||
- Docker Compose v2 2.32.2
|
||||
- Docker-wincred 0.9.3
|
||||
@@ -79,10 +80,10 @@
|
||||
- Newman 6.2.1
|
||||
- OpenSSL 3.4.1
|
||||
- Packer 1.12.0
|
||||
- Pulumi 3.181.0
|
||||
- Pulumi 3.178.0
|
||||
- R 4.4.2
|
||||
- Service Fabric SDK 10.1.2493.9590
|
||||
- Stack 3.7.1
|
||||
- Stack 3.5.1
|
||||
- Swig 4.1.1
|
||||
- VSWhere 3.1.7
|
||||
- WinAppDriver 1.2.2009.02003
|
||||
@@ -92,32 +93,32 @@
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- AWS CLI 2.27.45
|
||||
- AWS CLI 2.27.40
|
||||
- AWS SAM CLI 1.141.0
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.74.0
|
||||
- Azure DevOps CLI extension 1.0.2
|
||||
- Azure DevOps CLI extension 1.0.1
|
||||
- GitHub CLI 2.74.2
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
- Rust 1.88.0
|
||||
- Rustdoc 1.88.0
|
||||
- Cargo 1.87.0
|
||||
- Rust 1.87.0
|
||||
- Rustdoc 1.87.0
|
||||
- Rustup 1.28.2
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.88
|
||||
- Clippy 0.1.87
|
||||
- Rustfmt 1.8.0
|
||||
|
||||
### Browsers and Drivers
|
||||
- Google Chrome 138.0.7204.50
|
||||
- Chrome Driver 138.0.7204.49
|
||||
- Microsoft Edge 138.0.3351.55
|
||||
- Microsoft Edge Driver 138.0.3351.55
|
||||
- Mozilla Firefox 140.0.2
|
||||
- Google Chrome 137.0.7151.120
|
||||
- Chrome Driver 137.0.7151.119
|
||||
- Microsoft Edge 137.0.3296.93
|
||||
- Microsoft Edge Driver 137.0.3296.93
|
||||
- Mozilla Firefox 139.0.4
|
||||
- Gecko Driver 0.36.0
|
||||
- IE Driver 4.14.0.0
|
||||
- Selenium server 4.34.0
|
||||
- Selenium server 4.33.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -161,8 +162,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
- 20.19.2
|
||||
- 22.16.0
|
||||
|
||||
#### Python
|
||||
- 3.9.13
|
||||
@@ -211,7 +212,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
| Name | Version | ConfigFile | ServiceName | ServiceStatus | ListenPort |
|
||||
| ------ | ------- | ------------------------------------- | ----------- | ------------- | ---------- |
|
||||
| Apache | 2.4.55 | C:\tools\Apache24\conf\httpd.conf | Apache | Stopped | 80 |
|
||||
| Nginx | 1.29.0 | C:\tools\nginx-1.29.0\conf\nginx.conf | nginx | Stopped | 80 |
|
||||
| Nginx | 1.27.5 | C:\tools\nginx-1.27.5\conf\nginx.conf | nginx | Stopped | 80 |
|
||||
|
||||
### Visual Studio Enterprise 2022
|
||||
| Name | Version | Path |
|
||||
@@ -474,11 +475,11 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
- nbgv 3.7.115+d31f50f4d1
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.11
|
||||
- PowerShell 7.4.10
|
||||
|
||||
#### Powershell Modules
|
||||
- Az: 12.5.0
|
||||
- AWSPowershell: 5.0.4
|
||||
- Az: 12.4.0
|
||||
- AWSPowershell: 4.1.845
|
||||
- DockerMsftProvider: 1.0.0.8
|
||||
- MarkdownPS: 1.10
|
||||
- Microsoft.Graph: 2.28.0
|
||||
@@ -493,10 +494,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 16.0 |
|
||||
| Android Emulator | 35.6.11 |
|
||||
| Android Emulator | 35.5.10 |
|
||||
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0 |
|
||||
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.22.1<br>3.30.5<br>3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
|
||||
@@ -36,14 +36,6 @@ if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to grant Users full control of $env:SystemRoot\Temp"
|
||||
}
|
||||
|
||||
# Enable inheritance for the entire C:\ drive
|
||||
if (Test-IsWin25) {
|
||||
cmd /c "icacls C:\ /inheritance:e /c /q 2>&1" | Out-Null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to enable inheritance for C:\ drive"
|
||||
}
|
||||
}
|
||||
|
||||
# Registry settings
|
||||
$registrySettings = @(
|
||||
@{Path = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"; Name = "AUOptions"; Value = 1; PropertyType = "DWORD" }
|
||||
|
||||
@@ -11,7 +11,7 @@ Install-ChocoPackage awscli
|
||||
Install-Binary `
|
||||
-Url "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe" `
|
||||
-InstallArgs ("/silent", "/install") `
|
||||
-ExpectedSubject 'CN="Amazon Web Services, Inc.", OU=AWS Systems Manager, O="Amazon Web Services, Inc.", L=Seattle, S=Washington, C=US, SERIALNUMBER=4152954, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, OID.1.3.6.1.4.1.311.60.2.1.3=US'
|
||||
-ExpectedSignature "CFC0CE0547A698E5F3FA78F819654CE016D76464"
|
||||
$env:Path = $env:Path + ";$env:ProgramFiles\Amazon\SessionManagerPlugin\bin"
|
||||
|
||||
# Install AWS SAM CLI
|
||||
|
||||
@@ -15,7 +15,7 @@ New-Item -ItemType 'Directory' -Path $azureCliExtensionPath | Out-Null
|
||||
|
||||
Install-Binary -Type MSI `
|
||||
-Url 'https://aka.ms/installazurecliwindowsx64' `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature '245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D'
|
||||
|
||||
Update-Environment
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
################################################################################
|
||||
|
||||
$downloadUrl = "https://aka.ms/BuildComponentSetup.EN"
|
||||
$signatureThumbprint = "8740DF4ACB749640AD318E4BE842F72EC651AD80"
|
||||
|
||||
Write-Host "Downloading BizTalk Project Build Component archive..."
|
||||
$zipFile = Invoke-DownloadWithRetry $downloadUrl
|
||||
@@ -18,10 +19,10 @@ Write-Host "Installing BizTalk Project Build Component..."
|
||||
Install-Binary `
|
||||
-LocalPath "$setupPath\Bootstrap.msi" `
|
||||
-ExtraInstallArgs ("/l*v", "$setupPath\bootstrap.log") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature $signatureThumbprint
|
||||
Install-Binary `
|
||||
-LocalPath "$setupPath\BuildComponentSetup.msi" `
|
||||
-ExtraInstallArgs ("/l*v", "$setupPath\buildComponentSetup.log") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature $signatureThumbprint
|
||||
|
||||
Invoke-PesterTests -TestFile "BizTalk" -TestName "BizTalk Build Component Setup"
|
||||
|
||||
@@ -13,8 +13,9 @@ Add-MachinePathItem 'C:\ProgramData\Chocolatey\bin'
|
||||
Update-Environment
|
||||
|
||||
# Verify and run choco installer
|
||||
$signatureThumbprint = "B009C875F4E10FFBC62B785BAF4FC4D6BC2D5711"
|
||||
$installScriptPath = Invoke-DownloadWithRetry 'https://chocolatey.org/install.ps1'
|
||||
Test-FileSignature -Path $installScriptPath -ExpectedSubject 'CN="Chocolatey Software, Inc", O="Chocolatey Software, Inc", L=Topeka, S=Kansas, C=US'
|
||||
Test-FileSignature -Path $installScriptPath -ExpectedThumbprint $signatureThumbprint
|
||||
Invoke-Expression $installScriptPath
|
||||
|
||||
# Turn off confirmation
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# Download and install latest Chrome browser
|
||||
Install-Binary `
|
||||
-Url 'https://dl.google.com/tag/s/dl/chrome/install/googlechromestandaloneenterprise64.msi' `
|
||||
-ExpectedSubject 'CN=Google LLC, O=Google LLC, L=Mountain View, S=California, C=US, SERIALNUMBER=3582691, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, OID.1.3.6.1.4.1.311.60.2.1.3=US'
|
||||
-ExpectedSignature '607A3EDAA64933E94422FC8F0C80388E0590986C'
|
||||
|
||||
# Prepare firewall rules
|
||||
Write-Host "Adding the firewall rule for Google update blocking..."
|
||||
|
||||
@@ -20,6 +20,7 @@ Expand-7ZipArchive -Path $cloudFoundryArchPath -DestinationPath $cloudFoundryCli
|
||||
Add-MachinePathItem $cloudFoundryCliPath
|
||||
|
||||
# Validate cf signature
|
||||
Test-FileSignature -Path "$cloudFoundryCliPath\cf.exe" -ExpectedSubject 'CN="LF Projects, LLC", O="LF Projects, LLC", L=Wilmington, S=Delaware, C=US'
|
||||
$cloudFoundrySignatureThumbprint = "2C6B2F1562698503A6E4A25F2DF058E12E23A190"
|
||||
Test-FileSignature -Path "$cloudFoundryCliPath\cf.exe" -ExpectedThumbprint $cloudFoundrySignatureThumbprint
|
||||
|
||||
Invoke-PesterTests -TestFile "CLI.Tools" -TestName "CloudFoundry CLI"
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
Install-Binary -Type MSI `
|
||||
-Url 'https://aka.ms/dacfx-msi' `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature '8F985BE8FD256085C90A95D3C74580511A1DB975'
|
||||
|
||||
Invoke-PesterTests -TestFile "Tools" -TestName "DACFx"
|
||||
|
||||
@@ -27,7 +27,13 @@ Write-Host "Expand Microsoft Edge WebDriver archive..."
|
||||
Expand-7ZipArchive -Path $archivePath -DestinationPath $edgeDriverPath
|
||||
|
||||
#Validate the EdgeDriver signature
|
||||
Test-FileSignature -Path "$edgeDriverPath\msedgedriver.exe" -ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
$signatureThumbprint = @(
|
||||
"7920AC8FB05E0FFFE21E8FF4B4F03093BA6AC16E",
|
||||
"0BD8C56733FDCC06F8CB919FF5A200E39B1ACF71",
|
||||
"F6EECCC7FF116889C2D5466AE7243D7AA7698689",
|
||||
"6ACE61BAE3F09F4DD2697806D73E022CBFE70EB4"
|
||||
)
|
||||
Test-FileSignature -Path "$edgeDriverPath\msedgedriver.exe" -ExpectedThumbprint $signatureThumbprint
|
||||
|
||||
Write-Host "Setting the environment variables..."
|
||||
[Environment]::SetEnvironmentVariable("EdgeWebDriver", $EdgeDriverPath, "Machine")
|
||||
|
||||
@@ -53,7 +53,8 @@ Write-Host "Expand Gecko WebDriver archive..."
|
||||
Expand-7ZipArchive -Path $geckoDriverArchPath -DestinationPath $geckoDriverPath
|
||||
|
||||
# Validate Gecko WebDriver signature
|
||||
Test-FileSignature -Path "$geckoDriverPath/geckodriver.exe" -ExpectedSubject 'CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=San Francisco, S=California, C=US'
|
||||
$geckoDriverSignatureThumbprint = "6663D5C4FDAF9EFD5F823A26C9C410DC9928C44A"
|
||||
Test-FileSignature -Path "$geckoDriverPath/geckodriver.exe" -ExpectedThumbprint $geckoDriverSignatureThumbprint
|
||||
|
||||
Write-Host "Setting the environment variables..."
|
||||
Add-MachinePathItem -PathItem $geckoDriverPath
|
||||
|
||||
@@ -7,6 +7,6 @@
|
||||
Install-Binary `
|
||||
-Url 'https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe' `
|
||||
-InstallArgs @("/S", "/allusers", "/noreporting") `
|
||||
-ExpectedSubject 'CN=Google LLC, O=Google LLC, L=Mountain View, S=California, C=US, SERIALNUMBER=3582691, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, OID.1.3.6.1.4.1.311.60.2.1.3=US'
|
||||
-ExpectedSignature '607A3EDAA64933E94422FC8F0C80388E0590986C'
|
||||
|
||||
Invoke-PesterTests -TestFile "Tools" -TestName "GoogleCloudCLI"
|
||||
|
||||
@@ -24,7 +24,7 @@ $latestVersion = $minorVersions[0]
|
||||
Install-Binary `
|
||||
-Url "https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-$latestVersion-signed.msi" `
|
||||
-ExtraInstallArgs @('TARGETDIR=C:\PROGRA~1\MongoDB ADDLOCAL=ALL') `
|
||||
-ExpectedSubject 'CN="MONGODB, INC.", O="MONGODB, INC.", L=New York, S=New York, C=US'
|
||||
-ExpectedSignature $toolsetContent.mongodb.signature
|
||||
|
||||
# Add mongodb to the PATH
|
||||
$mongoPath = (Get-CimInstance Win32_Service -Filter "Name LIKE 'mongodb'").PathName
|
||||
@@ -51,7 +51,7 @@ if (Test-IsWin25) {
|
||||
Install-Binary -Type MSI `
|
||||
-Url $mongoshDownloadUrl `
|
||||
-ExtraInstallArgs @('ALLUSERS=1') `
|
||||
-ExpectedSubject 'CN="MongoDB, Inc.", O="MongoDB, Inc.", L=New York, S=New York, C=US'
|
||||
-ExpectedSignature 'A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA'
|
||||
}
|
||||
|
||||
Invoke-PesterTests -TestFile "Databases" -TestName "MongoDB"
|
||||
|
||||
@@ -30,7 +30,7 @@ $mysqlVersionUrl = "https://cdn.mysql.com/Downloads/MySQL-${mysqlVersionMajorMin
|
||||
|
||||
Install-Binary `
|
||||
-Url $mysqlVersionUrl `
|
||||
-ExpectedSubject 'CN="Oracle America, Inc.", O="Oracle America, Inc.", L=Redwood City, S=California, C=US, SERIALNUMBER=2101822, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, OID.1.3.6.1.4.1.311.60.2.1.3=US'
|
||||
-ExpectedSignature (Get-ToolsetContent).mysql.signature
|
||||
|
||||
# Adding mysql in system environment path
|
||||
$mysqlPath = $(Get-ChildItem -Path "C:\PROGRA~1\MySQL" -Directory)[0].FullName
|
||||
|
||||
@@ -66,7 +66,7 @@ $installerArgs = @("--install_runtimes 0", "--superpassword root", "--enable_acl
|
||||
Install-Binary `
|
||||
-Url $installerUrl `
|
||||
-InstallArgs $installerArgs `
|
||||
-ExpectedSubject 'CN=EnterpriseDB Corporation, O=EnterpriseDB Corporation, S=Massachusetts, C=US' `
|
||||
-ExpectedSignature (Get-ToolsetContent).postgresql.signature `
|
||||
-InstallerLogPath "$env:TEMP\**\install-postgresql.log"
|
||||
|
||||
# Get Path to pg_ctl.exe
|
||||
|
||||
@@ -6,4 +6,4 @@
|
||||
Install-Binary -Type MSI `
|
||||
-Url "https://go.microsoft.com/fwlink/?linkid=2242656" `
|
||||
-ExtraInstallArgs @("ADDLOCAL=ALL", "IACCEPTMSOLEDBSQLLICENSETERMS=YES") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature '6E78B3DCE2998F6C2457C3E54DA90A01034916AE'
|
||||
|
||||
@@ -4,16 +4,17 @@
|
||||
################################################################################
|
||||
|
||||
$baseUrl = "https://download.microsoft.com/download/B/1/7/B1783FE9-717B-4F78-A39A-A2E27E3D679D/ENU/x64"
|
||||
$signatureThumbrint = "9ACA9419E53D3C9E56396DD2335FF683A8B0B8F3"
|
||||
|
||||
# install required MSIs
|
||||
Install-Binary `
|
||||
-Url "${baseUrl}/SQLSysClrTypes.msi" `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature $signatureThumbrint
|
||||
|
||||
Install-Binary `
|
||||
-Url "${baseUrl}/SharedManagementObjects.msi" `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature $signatureThumbrint
|
||||
|
||||
Install-Binary `
|
||||
-Url "${baseUrl}/PowerShellTools.msi" `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature $signatureThumbrint
|
||||
|
||||
@@ -11,7 +11,8 @@ if (Test-IsWin19) {
|
||||
-Edition $vsToolset.edition `
|
||||
-Channel $vsToolset.channel `
|
||||
-RequiredComponents $vsToolset.workloads `
|
||||
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64"
|
||||
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64" `
|
||||
-SignatureThumbprint $vsToolset.signature
|
||||
}
|
||||
|
||||
if ( (Test-IsWin22) -or (Test-IsWin25) ) {
|
||||
@@ -22,7 +23,8 @@ if ( (Test-IsWin22) -or (Test-IsWin25) ) {
|
||||
-Channel $vsToolset.channel `
|
||||
-InstallChannel $vsToolset.installChannel `
|
||||
-RequiredComponents $vsToolset.workloads `
|
||||
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64"
|
||||
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64" `
|
||||
-SignatureThumbprint $vsToolset.signature
|
||||
}
|
||||
|
||||
# Find the version of VS installed for this instance
|
||||
@@ -44,13 +46,13 @@ if (Test-IsWin19) {
|
||||
Install-Binary -Type EXE `
|
||||
-Url 'https://go.microsoft.com/fwlink/p/?LinkId=838916' `
|
||||
-InstallArgs @("/q", "/norestart", "/ceip off", "/features OptionId.WindowsSoftwareDevelopmentKit") `
|
||||
-ExpectedSubject 'CN=Microsoft Corporation, OU=MOPR, O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
|
||||
-ExpectedSignature 'C91545B333C52C4465DE8B90A3FAF4E1D9C58DFA'
|
||||
|
||||
# Install Windows 11 SDK version 10.0.22621.0
|
||||
Install-Binary -Type EXE `
|
||||
-Url 'https://go.microsoft.com/fwlink/p/?linkid=2196241' `
|
||||
-InstallArgs @("/q", "/norestart", "/ceip off", "/features OptionId.UWPManaged OptionId.UWPCPP OptionId.UWPLocalized OptionId.DesktopCPPx86 OptionId.DesktopCPPx64 OptionId.DesktopCPParm64") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature 'E4C5C5FCDB68B930EE4E19BC25D431EF6D864C51'
|
||||
}
|
||||
|
||||
if (Test-IsWin22) {
|
||||
@@ -58,7 +60,7 @@ if (Test-IsWin22) {
|
||||
Install-Binary -Type EXE `
|
||||
-Url 'https://go.microsoft.com/fwlink/p/?LinkID=2033908' `
|
||||
-InstallArgs @("/q", "/norestart", "/ceip off", "/features OptionId.UWPManaged OptionId.UWPCPP OptionId.UWPLocalized OptionId.DesktopCPPx86 OptionId.DesktopCPPx64 OptionId.DesktopCPParm64") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature '7535269B94C1FEA4A5EF6D808E371DA242F27936'
|
||||
}
|
||||
|
||||
if (-not (Test-IsWin19)) {
|
||||
@@ -66,7 +68,7 @@ if (-not (Test-IsWin19)) {
|
||||
Install-Binary -Type EXE `
|
||||
-Url 'https://go.microsoft.com/fwlink/?linkid=2286561' `
|
||||
-InstallArgs @("/q", "/norestart", "/ceip off", "/features OptionId.UWPManaged OptionId.UWPCPP OptionId.UWPLocalized OptionId.DesktopCPPx86 OptionId.DesktopCPPx64 OptionId.DesktopCPParm64") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature '573EF451A68C33FB904346D44551BEF3BB5BBF68'
|
||||
}
|
||||
|
||||
Invoke-PesterTests -TestFile "VisualStudio"
|
||||
|
||||
@@ -9,13 +9,15 @@ if (Test-IsWin19) {
|
||||
Install-Binary -Type EXE `
|
||||
-Url 'https://go.microsoft.com/fwlink/?linkid=2173743' `
|
||||
-InstallArgs @("/features", "+", "/quiet") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature '44796EB5BD439B4BFB078E1DC2F8345AE313CBB1'
|
||||
|
||||
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2166289"
|
||||
$wdkSignatureThumbprint = "914A09C2E02C696AF394048BCB8D95449BCD5B9E"
|
||||
$wdkExtensionPath = "C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix"
|
||||
} elseif (Test-IsWin22) {
|
||||
# SDK is available through Visual Studio
|
||||
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2324617"
|
||||
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2294834"
|
||||
$wdkSignatureThumbprint = "7920AC8FB05E0FFFE21E8FF4B4F03093BA6AC16E"
|
||||
} else {
|
||||
throw "Invalid version of Visual Studio is found. Either 2019 or 2022 are required"
|
||||
}
|
||||
@@ -24,7 +26,7 @@ if (Test-IsWin19) {
|
||||
Install-Binary -Type EXE `
|
||||
-Url $wdkUrl `
|
||||
-InstallArgs @("/features", "+", "/quiet") `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature $wdkSignatureThumbprint
|
||||
|
||||
if (Test-IsWin19){
|
||||
# Need to install the VSIX to get the build targets when running VSBuild
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
Install-Binary -Type MSI `
|
||||
-Url 'https://go.microsoft.com/fwlink/?LinkId=287166' `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature 'C3A3D43788E7ABCD287CB4F5B6583043774F99D2'
|
||||
|
||||
Invoke-PesterTests -TestFile "Tools" -TestName "WebPlatformInstaller"
|
||||
|
||||
@@ -11,6 +11,6 @@ $downloadUrl = Resolve-GithubReleaseAssetUrl `
|
||||
|
||||
Install-Binary `
|
||||
-Url $downloadUrl `
|
||||
-ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
-ExpectedSignature '2485A7AFA98E178CB8F30C9838346B514AEA4769'
|
||||
|
||||
Invoke-PesterTests -TestFile "WinAppDriver" -TestName "WinAppDriver"
|
||||
|
||||
@@ -19,7 +19,6 @@ Export-ModuleMember -Function @(
|
||||
Export-ModuleMember -Function @(
|
||||
'Install-Binary'
|
||||
'Invoke-DownloadWithRetry'
|
||||
'Get-MicrosoftPublisher'
|
||||
'Get-ToolsetContent'
|
||||
'Get-TCToolPath'
|
||||
'Get-TCToolVersionPath'
|
||||
|
||||
@@ -21,8 +21,8 @@ function Install-Binary {
|
||||
.PARAMETER ExtraInstallArgs
|
||||
Additional arguments that will be passed to the installer. Cannot be used together with InstallArgs.
|
||||
|
||||
.PARAMETER ExpectedSubject
|
||||
The expected signature subject of the binary. If specified, the binary's signature is checked before installation.
|
||||
.PARAMETER ExpectedSignature
|
||||
The expected signature of the binary. If specified, the binary's signature is checked before installation.
|
||||
|
||||
.PARAMETER ExpectedSHA256Sum
|
||||
The expected SHA256 sum of the binary. If specified, the binary's SHA256 sum is checked before installation.
|
||||
@@ -35,7 +35,7 @@ function Install-Binary {
|
||||
This is only displayed when the installation fails.
|
||||
|
||||
.EXAMPLE
|
||||
Install-Binary -Url "https://go.microsoft.com/fwlink/p/?linkid=2083338" -Type EXE -InstallArgs ("/features", "+", "/quiet") -ExpectedSubject "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
|
||||
Install-Binary -Url "https://go.microsoft.com/fwlink/p/?linkid=2083338" -Type EXE -InstallArgs ("/features", "+", "/quiet") -ExpectedSignature "A5C7D5B7C838D5F89DDBEDB85B2C566B4CDA881F"
|
||||
#>
|
||||
|
||||
Param
|
||||
@@ -48,7 +48,7 @@ function Install-Binary {
|
||||
[String] $Type,
|
||||
[String[]] $InstallArgs,
|
||||
[String[]] $ExtraInstallArgs,
|
||||
[String] $ExpectedSubject,
|
||||
[String[]] $ExpectedSignature,
|
||||
[String] $ExpectedSHA256Sum,
|
||||
[String] $ExpectedSHA512Sum,
|
||||
[String] $InstallerLogPath
|
||||
@@ -78,11 +78,11 @@ function Install-Binary {
|
||||
$filePath = Invoke-DownloadWithRetry -Url $Url -Path "${env:TEMP_DIR}\$fileName"
|
||||
}
|
||||
|
||||
if ($PSBoundParameters.ContainsKey('ExpectedSubject')) {
|
||||
if ($ExpectedSubject) {
|
||||
Test-FileSignature -Path $filePath -ExpectedSubject $ExpectedSubject
|
||||
if ($PSBoundParameters.ContainsKey('ExpectedSignature')) {
|
||||
if ($ExpectedSignature) {
|
||||
Test-FileSignature -Path $filePath -ExpectedThumbprint $ExpectedSignature
|
||||
} else {
|
||||
throw "ExpectedSubject parameter is specified, but no value is provided."
|
||||
throw "ExpectedSignature parameter is specified, but no signature is provided."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -975,28 +975,28 @@ function Test-FileSignature {
|
||||
Tests the file signature of a given file.
|
||||
|
||||
.DESCRIPTION
|
||||
The Test-FileSignature function checks the signature of a file against the expected subject.
|
||||
The Test-FileSignature function checks the signature of a file against the expected thumbprints.
|
||||
It uses the Get-AuthenticodeSignature cmdlet to retrieve the signature information of the file.
|
||||
If the signature status is not valid or the subject of the signing certificate does not match the expected subject, an exception is thrown.
|
||||
If the signature status is not valid or the thumbprint does not match the expected thumbprints, an exception is thrown.
|
||||
|
||||
.PARAMETER Path
|
||||
Specifies the path of the file to test.
|
||||
|
||||
.PARAMETER ExpectedSubject
|
||||
Specifies the expected subject to match against the file's signature.
|
||||
.PARAMETER ExpectedThumbprint
|
||||
Specifies the expected thumbprints to match against the file's signature.
|
||||
|
||||
.EXAMPLE
|
||||
Test-FileSignature -Path "C:\Path\To\File.exe" -ExpectedSubject "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
|
||||
Test-FileSignature -Path "C:\Path\To\File.exe" -ExpectedThumbprint "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9T0"
|
||||
|
||||
This example tests the signature of the file "C:\Path\To\File.exe" against the expected subject "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US".
|
||||
This example tests the signature of the file "C:\Path\To\File.exe" against the expected thumbprint "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9T0".
|
||||
|
||||
#>
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory = $true, Position = 0)]
|
||||
[string] $Path,
|
||||
[Parameter(Mandatory = $true, Position = 1)]
|
||||
[string] $ExpectedSubject
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string[]] $ExpectedThumbprint
|
||||
)
|
||||
|
||||
$signature = Get-AuthenticodeSignature $Path
|
||||
@@ -1005,15 +1005,19 @@ function Test-FileSignature {
|
||||
throw "Signature status is not valid. Status: $($signature.Status)"
|
||||
}
|
||||
|
||||
if ($signature.SignerCertificate.EnhancedKeyUsageList.FriendlyName -notcontains "Code Signing") {
|
||||
throw "Certificate is not for code signing. Key usage: $($signature.SignerCertificate.EnhancedKeyUsageList)"
|
||||
foreach ($thumbprint in $ExpectedThumbprint) {
|
||||
if ($signature.SignerCertificate.Thumbprint.Contains($thumbprint)) {
|
||||
Write-Output "Signature for $Path is valid"
|
||||
$signatureMatched = $true
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if ($signature.SignerCertificate.Subject -ne $ExpectedSubject) {
|
||||
throw "Certificate subject does not match. Subject: $($signature.SignerCertificate.Subject)"
|
||||
if ($signatureMatched) {
|
||||
Write-Output "Signature for $Path is valid"
|
||||
} else {
|
||||
throw "Signature thumbprint do not match expected."
|
||||
}
|
||||
|
||||
Write-Output "Signature for $Path is valid"
|
||||
}
|
||||
|
||||
function Update-Environment {
|
||||
@@ -1051,12 +1055,3 @@ function Update-Environment {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Get-MicrosoftPublisher {
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Returns well-known subject for the Microsoft signing certificate
|
||||
#>
|
||||
|
||||
return "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
|
||||
}
|
||||
|
||||
@@ -32,7 +32,8 @@ Function Install-VisualStudio {
|
||||
[Parameter(Mandatory)] [String] $Channel,
|
||||
[String] $InstallChannel = "",
|
||||
[Parameter(Mandatory)] [String[]] $RequiredComponents,
|
||||
[String] $ExtraArgs = ""
|
||||
[String] $ExtraArgs = "",
|
||||
[Parameter(Mandatory)] [String[]] $SignatureThumbprint
|
||||
)
|
||||
|
||||
|
||||
@@ -50,7 +51,7 @@ Function Install-VisualStudio {
|
||||
$bootstrapperFilePath = Invoke-DownloadWithRetry $BootstrapperUrl
|
||||
|
||||
# Verify that the bootstrapper is signed by Microsoft
|
||||
Test-FileSignature -Path $bootstrapperFilePath -ExpectedSubject $(Get-MicrosoftPublisher)
|
||||
Test-FileSignature -Path $bootstrapperFilePath -ExpectedThumbprint $SignatureThumbprint
|
||||
|
||||
try {
|
||||
$responseData = @{
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
locals {
|
||||
image_properties_map = {
|
||||
"win19" = {
|
||||
publisher = "MicrosoftWindowsServer"
|
||||
offer = "WindowsServer"
|
||||
sku = "2019-Datacenter"
|
||||
os_disk_size_gb = coalesce(var.os_disk_size_gb, 256)
|
||||
},
|
||||
"win22" = {
|
||||
publisher = "MicrosoftWindowsServer"
|
||||
offer = "WindowsServer"
|
||||
sku = "2022-Datacenter"
|
||||
os_disk_size_gb = coalesce(var.os_disk_size_gb, 256)
|
||||
},
|
||||
"win25" = {
|
||||
publisher = "MicrosoftWindowsServer"
|
||||
offer = "WindowsServer"
|
||||
sku = "2025-Datacenter"
|
||||
os_disk_size_gb = coalesce(var.os_disk_size_gb, 150)
|
||||
}
|
||||
}
|
||||
|
||||
image_properties = local.image_properties_map[var.image_os]
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
source "azure-arm" "image" {
|
||||
client_cert_path = var.client_cert_path
|
||||
client_id = var.client_id
|
||||
client_secret = var.client_secret
|
||||
object_id = var.object_id
|
||||
oidc_request_token = var.oidc_request_token
|
||||
oidc_request_url = var.oidc_request_url
|
||||
subscription_id = var.subscription_id
|
||||
tenant_id = var.tenant_id
|
||||
use_azure_cli_auth = var.use_azure_cli_auth
|
||||
|
||||
allowed_inbound_ip_addresses = var.allowed_inbound_ip_addresses
|
||||
build_key_vault_name = var.build_key_vault_name
|
||||
build_key_vault_secret_name = var.build_key_vault_secret_name
|
||||
build_resource_group_name = var.build_resource_group_name
|
||||
communicator = "winrm"
|
||||
image_offer = local.image_properties.offer
|
||||
image_publisher = local.image_properties.publisher
|
||||
image_sku = local.image_properties.sku
|
||||
image_version = var.source_image_version
|
||||
location = var.location
|
||||
managed_image_name = var.managed_image_name
|
||||
managed_image_resource_group_name = var.managed_image_resource_group_name
|
||||
managed_image_storage_account_type = var.managed_image_storage_account_type
|
||||
os_disk_size_gb = local.image_properties.os_disk_size_gb
|
||||
os_type = var.image_os_type
|
||||
private_virtual_network_with_public_ip = var.private_virtual_network_with_public_ip
|
||||
temp_resource_group_name = var.temp_resource_group_name
|
||||
virtual_network_name = var.virtual_network_name
|
||||
virtual_network_resource_group_name = var.virtual_network_resource_group_name
|
||||
virtual_network_subnet_name = var.virtual_network_subnet_name
|
||||
vm_size = var.vm_size
|
||||
winrm_expiration_time = var.winrm_expiration_time
|
||||
winrm_insecure = "true"
|
||||
winrm_use_ssl = "true"
|
||||
winrm_username = var.winrm_username
|
||||
|
||||
shared_image_gallery_destination {
|
||||
subscription = var.subscription_id
|
||||
gallery_name = var.gallery_name
|
||||
resource_group = var.gallery_resource_group_name
|
||||
image_name = var.gallery_image_name
|
||||
image_version = var.gallery_image_version
|
||||
storage_account_type = var.gallery_storage_account_type
|
||||
}
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,179 +0,0 @@
|
||||
// Authentication related variables
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
variable "object_id" {
|
||||
type = string
|
||||
default = "${env("ARM_OBJECT_ID")}"
|
||||
}
|
||||
variable "oidc_request_token" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "oidc_request_url" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
variable "use_azure_cli_auth" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
// Azure environment related variables
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
variable "build_key_vault_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_NAME")}"
|
||||
}
|
||||
variable "build_key_vault_secret_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_SECRET_NAME")}"
|
||||
}
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RG_NAME")}"
|
||||
}
|
||||
variable "gallery_image_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_NAME")}"
|
||||
}
|
||||
variable "gallery_image_version" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_VERSION")}"
|
||||
}
|
||||
variable "gallery_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_NAME")}"
|
||||
}
|
||||
variable "gallery_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_RG_NAME")}"
|
||||
}
|
||||
variable "gallery_storage_account_type" {
|
||||
type = string
|
||||
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
|
||||
}
|
||||
variable "image_os_type" {
|
||||
type = string
|
||||
default = "Windows"
|
||||
}
|
||||
variable "location" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
variable "managed_image_storage_account_type" {
|
||||
type = string
|
||||
default = "Premium_LRS"
|
||||
}
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
variable "os_disk_size_gb" {
|
||||
type = number
|
||||
default = null
|
||||
}
|
||||
variable "source_image_version" {
|
||||
type = string
|
||||
default = "latest"
|
||||
}
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_F8s_v2"
|
||||
}
|
||||
variable "winrm_expiration_time" { // A time duration with which to set the WinRM certificate to expire
|
||||
type = string // Also applies to key vault secret expiration time
|
||||
default = "1440h"
|
||||
}
|
||||
variable "winrm_username" { // The username used to connect to the VM via WinRM
|
||||
type = string // Also applies to the username used to create the VM
|
||||
default = "packer"
|
||||
}
|
||||
|
||||
// Image related variables
|
||||
variable "agent_tools_directory" {
|
||||
type = string
|
||||
default = "C:\\hostedtoolcache\\windows"
|
||||
}
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "C:\\Program Files\\WindowsPowerShell\\Modules\\"
|
||||
}
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "C:\\image"
|
||||
}
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "C:\\imagedata.json"
|
||||
}
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
variable "install_user" {
|
||||
type = string
|
||||
default = "installer"
|
||||
}
|
||||
variable "temp_dir" {
|
||||
type = string
|
||||
default = "D:\\temp"
|
||||
}
|
||||
+258
-1
@@ -1,6 +1,263 @@
|
||||
variable "agent_tools_directory" {
|
||||
type = string
|
||||
default = "C:\\hostedtoolcache\\windows"
|
||||
}
|
||||
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "C:\\Program Files\\WindowsPowerShell\\Modules\\"
|
||||
}
|
||||
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "C:\\image"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "win19"
|
||||
}
|
||||
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "C:\\imagedata.json"
|
||||
}
|
||||
|
||||
variable "temp_dir" {
|
||||
type = string
|
||||
default = "D:\\temp"
|
||||
}
|
||||
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "install_user" {
|
||||
type = string
|
||||
default = "installer"
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "managed_image_storage_account_type" {
|
||||
type = string
|
||||
default = "Premium_LRS"
|
||||
}
|
||||
|
||||
variable "object_id" {
|
||||
type = string
|
||||
default = "${env("ARM_OBJECT_ID")}"
|
||||
}
|
||||
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_F8s_v2"
|
||||
}
|
||||
|
||||
variable "image_offer" {
|
||||
type = string
|
||||
default = "WindowsServer"
|
||||
}
|
||||
|
||||
variable "image_publisher" {
|
||||
type = string
|
||||
default = "MicrosoftWindowsServer"
|
||||
}
|
||||
|
||||
variable "image_sku" {
|
||||
type = string
|
||||
default = "2019-Datacenter"
|
||||
}
|
||||
|
||||
variable "gallery_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_version" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_VERSION")}"
|
||||
}
|
||||
|
||||
variable "gallery_storage_account_type" {
|
||||
type = string
|
||||
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
|
||||
}
|
||||
|
||||
variable "build_key_vault_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_NAME")}"
|
||||
}
|
||||
|
||||
variable "build_key_vault_secret_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_SECRET_NAME")}"
|
||||
}
|
||||
|
||||
variable "use_azure_cli_auth" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "os_disk_size_gb" {
|
||||
type = number
|
||||
default = 256
|
||||
}
|
||||
|
||||
variable "image_os_type" {
|
||||
type = string
|
||||
default = "Windows"
|
||||
}
|
||||
|
||||
source "azure-arm" "image" {
|
||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
||||
build_resource_group_name = "${var.build_resource_group_name}"
|
||||
client_cert_path = "${var.client_cert_path}"
|
||||
client_id = "${var.client_id}"
|
||||
client_secret = "${var.client_secret}"
|
||||
use_azure_cli_auth = var.use_azure_cli_auth
|
||||
communicator = "winrm"
|
||||
image_offer = "${var.image_offer}"
|
||||
image_publisher = "${var.image_publisher}"
|
||||
image_sku = "${var.image_sku}"
|
||||
location = "${var.location}"
|
||||
managed_image_name = "${var.managed_image_name}"
|
||||
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
|
||||
managed_image_storage_account_type = "${var.managed_image_storage_account_type}"
|
||||
object_id = "${var.object_id}"
|
||||
os_disk_size_gb = var.os_disk_size_gb
|
||||
os_type = var.image_os_type
|
||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
||||
subscription_id = "${var.subscription_id}"
|
||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
||||
tenant_id = "${var.tenant_id}"
|
||||
virtual_network_name = "${var.virtual_network_name}"
|
||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
||||
vm_size = "${var.vm_size}"
|
||||
winrm_insecure = "true"
|
||||
winrm_use_ssl = "true"
|
||||
winrm_username = "packer"
|
||||
winrm_expiration_time = "1440h"
|
||||
build_key_vault_name = var.build_key_vault_name
|
||||
build_key_vault_secret_name = var.build_key_vault_secret_name
|
||||
|
||||
shared_image_gallery_destination {
|
||||
subscription = var.subscription_id
|
||||
gallery_name = var.gallery_name
|
||||
resource_group = var.gallery_resource_group_name
|
||||
image_name = var.gallery_image_name
|
||||
image_version = var.gallery_image_version
|
||||
storage_account_type = var.gallery_storage_account_type
|
||||
}
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.azure-arm.image"]
|
||||
name = "windows-2019"
|
||||
|
||||
provisioner "powershell" {
|
||||
inline = [
|
||||
+258
-1
@@ -1,6 +1,263 @@
|
||||
variable "agent_tools_directory" {
|
||||
type = string
|
||||
default = "C:\\hostedtoolcache\\windows"
|
||||
}
|
||||
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "C:\\Program Files\\WindowsPowerShell\\Modules\\"
|
||||
}
|
||||
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "C:\\image"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "win22"
|
||||
}
|
||||
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "C:\\imagedata.json"
|
||||
}
|
||||
|
||||
variable "temp_dir" {
|
||||
type = string
|
||||
default = "D:\\temp"
|
||||
}
|
||||
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "install_user" {
|
||||
type = string
|
||||
default = "installer"
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "managed_image_storage_account_type" {
|
||||
type = string
|
||||
default = "Premium_LRS"
|
||||
}
|
||||
|
||||
variable "object_id" {
|
||||
type = string
|
||||
default = "${env("ARM_OBJECT_ID")}"
|
||||
}
|
||||
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_F8s_v2"
|
||||
}
|
||||
|
||||
variable "image_offer" {
|
||||
type = string
|
||||
default = "WindowsServer"
|
||||
}
|
||||
|
||||
variable "image_publisher" {
|
||||
type = string
|
||||
default = "MicrosoftWindowsServer"
|
||||
}
|
||||
|
||||
variable "image_sku" {
|
||||
type = string
|
||||
default = "2022-Datacenter"
|
||||
}
|
||||
|
||||
variable "gallery_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_version" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_VERSION")}"
|
||||
}
|
||||
|
||||
variable "gallery_storage_account_type" {
|
||||
type = string
|
||||
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
|
||||
}
|
||||
|
||||
variable "build_key_vault_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_NAME")}"
|
||||
}
|
||||
|
||||
variable "build_key_vault_secret_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_SECRET_NAME")}"
|
||||
}
|
||||
|
||||
variable "use_azure_cli_auth" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "os_disk_size_gb" {
|
||||
type = number
|
||||
default = 256
|
||||
}
|
||||
|
||||
variable "image_os_type" {
|
||||
type = string
|
||||
default = "Windows"
|
||||
}
|
||||
|
||||
source "azure-arm" "image" {
|
||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
||||
build_resource_group_name = "${var.build_resource_group_name}"
|
||||
client_cert_path = "${var.client_cert_path}"
|
||||
client_id = "${var.client_id}"
|
||||
client_secret = "${var.client_secret}"
|
||||
use_azure_cli_auth = var.use_azure_cli_auth
|
||||
communicator = "winrm"
|
||||
image_offer = "${var.image_offer}"
|
||||
image_publisher = "${var.image_publisher}"
|
||||
image_sku = "${var.image_sku}"
|
||||
location = "${var.location}"
|
||||
managed_image_name = "${var.managed_image_name}"
|
||||
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
|
||||
managed_image_storage_account_type = "${var.managed_image_storage_account_type}"
|
||||
object_id = "${var.object_id}"
|
||||
os_disk_size_gb = var.os_disk_size_gb
|
||||
os_type = var.image_os_type
|
||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
||||
subscription_id = "${var.subscription_id}"
|
||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
||||
tenant_id = "${var.tenant_id}"
|
||||
virtual_network_name = "${var.virtual_network_name}"
|
||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
||||
vm_size = "${var.vm_size}"
|
||||
winrm_insecure = "true"
|
||||
winrm_use_ssl = "true"
|
||||
winrm_username = "packer"
|
||||
winrm_expiration_time = "1440h"
|
||||
build_key_vault_name = var.build_key_vault_name
|
||||
build_key_vault_secret_name = var.build_key_vault_secret_name
|
||||
|
||||
shared_image_gallery_destination {
|
||||
subscription = var.subscription_id
|
||||
gallery_name = var.gallery_name
|
||||
resource_group = var.gallery_resource_group_name
|
||||
image_name = var.gallery_image_name
|
||||
image_version = var.gallery_image_version
|
||||
storage_account_type = var.gallery_storage_account_type
|
||||
}
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.azure-arm.image"]
|
||||
name = "windows-2022"
|
||||
|
||||
provisioner "powershell" {
|
||||
inline = [
|
||||
+258
-1
@@ -1,6 +1,263 @@
|
||||
variable "agent_tools_directory" {
|
||||
type = string
|
||||
default = "C:\\hostedtoolcache\\windows"
|
||||
}
|
||||
|
||||
variable "allowed_inbound_ip_addresses" {
|
||||
type = list(string)
|
||||
default = []
|
||||
}
|
||||
|
||||
variable "azure_tags" {
|
||||
type = map(string)
|
||||
default = {}
|
||||
}
|
||||
|
||||
variable "build_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "client_cert_path" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_CERT_PATH")}"
|
||||
}
|
||||
|
||||
variable "client_id" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_ID")}"
|
||||
}
|
||||
|
||||
variable "client_secret" {
|
||||
type = string
|
||||
default = "${env("ARM_CLIENT_SECRET")}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "helper_script_folder" {
|
||||
type = string
|
||||
default = "C:\\Program Files\\WindowsPowerShell\\Modules\\"
|
||||
}
|
||||
|
||||
variable "image_folder" {
|
||||
type = string
|
||||
default = "C:\\image"
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "win25"
|
||||
}
|
||||
|
||||
variable "image_version" {
|
||||
type = string
|
||||
default = "dev"
|
||||
}
|
||||
|
||||
variable "imagedata_file" {
|
||||
type = string
|
||||
default = "C:\\imagedata.json"
|
||||
}
|
||||
|
||||
variable "temp_dir" {
|
||||
type = string
|
||||
default = "D:\\temp"
|
||||
}
|
||||
|
||||
variable "install_password" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "install_user" {
|
||||
type = string
|
||||
default = "installer"
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_name" {
|
||||
type = string
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "managed_image_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("ARM_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "managed_image_storage_account_type" {
|
||||
type = string
|
||||
default = "Premium_LRS"
|
||||
}
|
||||
|
||||
variable "object_id" {
|
||||
type = string
|
||||
default = "${env("ARM_OBJECT_ID")}"
|
||||
}
|
||||
|
||||
variable "private_virtual_network_with_public_ip" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "subscription_id" {
|
||||
type = string
|
||||
default = "${env("ARM_SUBSCRIPTION_ID")}"
|
||||
}
|
||||
|
||||
variable "temp_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("TEMP_RESOURCE_GROUP_NAME")}"
|
||||
}
|
||||
|
||||
variable "tenant_id" {
|
||||
type = string
|
||||
default = "${env("ARM_TENANT_ID")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_name" {
|
||||
type = string
|
||||
default = "${env("VNET_NAME")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("VNET_RESOURCE_GROUP")}"
|
||||
}
|
||||
|
||||
variable "virtual_network_subnet_name" {
|
||||
type = string
|
||||
default = "${env("VNET_SUBNET")}"
|
||||
}
|
||||
|
||||
variable "vm_size" {
|
||||
type = string
|
||||
default = "Standard_F8s_v2"
|
||||
}
|
||||
|
||||
variable "image_offer" {
|
||||
type = string
|
||||
default = "WindowsServer"
|
||||
}
|
||||
|
||||
variable "image_publisher" {
|
||||
type = string
|
||||
default = "MicrosoftWindowsServer"
|
||||
}
|
||||
|
||||
variable "image_sku" {
|
||||
type = string
|
||||
default = "2025-Datacenter"
|
||||
}
|
||||
|
||||
variable "gallery_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_resource_group_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_RG_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_name" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_NAME")}"
|
||||
}
|
||||
|
||||
variable "gallery_image_version" {
|
||||
type = string
|
||||
default = "${env("GALLERY_IMAGE_VERSION")}"
|
||||
}
|
||||
|
||||
variable "gallery_storage_account_type" {
|
||||
type = string
|
||||
default = "${env("GALLERY_STORAGE_ACCOUNT_TYPE")}"
|
||||
}
|
||||
|
||||
variable "build_key_vault_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_NAME")}"
|
||||
}
|
||||
|
||||
variable "build_key_vault_secret_name" {
|
||||
type = string
|
||||
default = "${env("BUILD_KEY_VAULT_SECRET_NAME")}"
|
||||
}
|
||||
|
||||
variable "use_azure_cli_auth" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "os_disk_size_gb" {
|
||||
type = number
|
||||
default = 150
|
||||
}
|
||||
|
||||
variable "image_os_type" {
|
||||
type = string
|
||||
default = "Windows"
|
||||
}
|
||||
|
||||
source "azure-arm" "image" {
|
||||
allowed_inbound_ip_addresses = "${var.allowed_inbound_ip_addresses}"
|
||||
build_resource_group_name = "${var.build_resource_group_name}"
|
||||
client_cert_path = "${var.client_cert_path}"
|
||||
client_id = "${var.client_id}"
|
||||
client_secret = "${var.client_secret}"
|
||||
use_azure_cli_auth = var.use_azure_cli_auth
|
||||
communicator = "winrm"
|
||||
image_offer = "${var.image_offer}"
|
||||
image_publisher = "${var.image_publisher}"
|
||||
image_sku = "${var.image_sku}"
|
||||
location = "${var.location}"
|
||||
managed_image_name = "${var.managed_image_name}"
|
||||
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
|
||||
managed_image_storage_account_type = "${var.managed_image_storage_account_type}"
|
||||
object_id = "${var.object_id}"
|
||||
os_disk_size_gb = var.os_disk_size_gb
|
||||
os_type = var.image_os_type
|
||||
private_virtual_network_with_public_ip = "${var.private_virtual_network_with_public_ip}"
|
||||
subscription_id = "${var.subscription_id}"
|
||||
temp_resource_group_name = "${var.temp_resource_group_name}"
|
||||
tenant_id = "${var.tenant_id}"
|
||||
virtual_network_name = "${var.virtual_network_name}"
|
||||
virtual_network_resource_group_name = "${var.virtual_network_resource_group_name}"
|
||||
virtual_network_subnet_name = "${var.virtual_network_subnet_name}"
|
||||
vm_size = "${var.vm_size}"
|
||||
winrm_insecure = "true"
|
||||
winrm_use_ssl = "true"
|
||||
winrm_username = "packer"
|
||||
winrm_expiration_time = "1440h"
|
||||
build_key_vault_name = var.build_key_vault_name
|
||||
build_key_vault_secret_name = var.build_key_vault_secret_name
|
||||
|
||||
shared_image_gallery_destination {
|
||||
subscription = var.subscription_id
|
||||
gallery_name = var.gallery_name
|
||||
resource_group = var.gallery_resource_group_name
|
||||
image_name = var.gallery_image_name
|
||||
image_version = var.gallery_image_version
|
||||
storage_account_type = var.gallery_storage_account_type
|
||||
}
|
||||
|
||||
dynamic "azure_tag" {
|
||||
for_each = var.azure_tags
|
||||
content {
|
||||
name = azure_tag.key
|
||||
value = azure_tag.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.azure-arm.image"]
|
||||
name = "windows-2025"
|
||||
|
||||
provisioner "powershell" {
|
||||
inline = [
|
||||
@@ -218,6 +218,10 @@
|
||||
"subversion" : "16",
|
||||
"edition" : "Enterprise",
|
||||
"channel": "release",
|
||||
"signature": [
|
||||
"8F985BE8FD256085C90A95D3C74580511A1DB975",
|
||||
"245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D"
|
||||
],
|
||||
"workloads": [
|
||||
"Component.Dotfuscator",
|
||||
"Component.Linux.CMake",
|
||||
@@ -422,10 +426,12 @@
|
||||
"version": "3.9"
|
||||
},
|
||||
"mysql": {
|
||||
"version": "5.7"
|
||||
"version": "5.7",
|
||||
"signature": "DD34D7C71F160972DE0CE25B695A0D6A9C95BD91"
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "5.0"
|
||||
"version": "5.0",
|
||||
"signature": "A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA"
|
||||
},
|
||||
"nsis": {
|
||||
"version": "3.10"
|
||||
@@ -437,7 +443,8 @@
|
||||
"version": "18"
|
||||
},
|
||||
"postgresql": {
|
||||
"version": "14"
|
||||
"version": "14",
|
||||
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9"
|
||||
},
|
||||
"kotlin": {
|
||||
"version": "2.1.10",
|
||||
|
||||
@@ -155,7 +155,11 @@
|
||||
"subversion" : "17",
|
||||
"edition" : "Enterprise",
|
||||
"channel": "release",
|
||||
"installChannel": "",
|
||||
"installChannel": "624045707_-738089513",
|
||||
"signature": [
|
||||
"245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D",
|
||||
"8F985BE8FD256085C90A95D3C74580511A1DB975"
|
||||
],
|
||||
"workloads": [
|
||||
"Component.Dotfuscator",
|
||||
"Component.Linux.CMake",
|
||||
@@ -317,7 +321,7 @@
|
||||
{ "name": "packer" },
|
||||
{
|
||||
"name": "strawberryperl" ,
|
||||
"args": [ "--version", "5.40.2.2" ]
|
||||
"args": [ "--version", "5.32.1.1" ]
|
||||
},
|
||||
{ "name": "pulumi" },
|
||||
{ "name": "swig" },
|
||||
@@ -342,22 +346,25 @@
|
||||
"version": "3.9"
|
||||
},
|
||||
"mysql": {
|
||||
"version": "8.0"
|
||||
"version": "8.0",
|
||||
"signature": "E8A8C17382A6DE62A3B443565E4A96843F834656"
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "5.0"
|
||||
"version": "5.0",
|
||||
"signature": "A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA"
|
||||
},
|
||||
"nsis": {
|
||||
"version": "3.10"
|
||||
},
|
||||
"llvm": {
|
||||
"version": "20"
|
||||
"version": "18"
|
||||
},
|
||||
"php": {
|
||||
"version": "8.4"
|
||||
},
|
||||
"postgresql": {
|
||||
"version": "14"
|
||||
"version": "14",
|
||||
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9"
|
||||
},
|
||||
"kotlin": {
|
||||
"version": "2.1.10",
|
||||
|
||||
@@ -137,7 +137,11 @@
|
||||
"subversion" : "17",
|
||||
"edition" : "Enterprise",
|
||||
"channel": "release",
|
||||
"installChannel": "",
|
||||
"installChannel": "624045707_-738089513",
|
||||
"signature": [
|
||||
"245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D",
|
||||
"8F985BE8FD256085C90A95D3C74580511A1DB975"
|
||||
],
|
||||
"workloads": [
|
||||
"Component.Dotfuscator",
|
||||
"Component.Linux.CMake",
|
||||
@@ -293,7 +297,7 @@
|
||||
},
|
||||
{
|
||||
"name": "strawberryperl" ,
|
||||
"args": [ "--version", "5.40.2.2" ]
|
||||
"args": [ "--version", "5.40.0.1" ]
|
||||
},
|
||||
{ "name": "imagemagick" },
|
||||
{ "name": "ninja" }
|
||||
@@ -306,10 +310,12 @@
|
||||
"version": "3.9"
|
||||
},
|
||||
"mysql": {
|
||||
"version": "8.0"
|
||||
"version": "8.0",
|
||||
"signature": "E8A8C17382A6DE62A3B443565E4A96843F834656"
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "7.0"
|
||||
"version": "7.0",
|
||||
"signature": "A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA"
|
||||
},
|
||||
"llvm": {
|
||||
"version": "20"
|
||||
@@ -318,7 +324,8 @@
|
||||
"version": "8.4"
|
||||
},
|
||||
"postgresql": {
|
||||
"version": "17"
|
||||
"version": "17",
|
||||
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9"
|
||||
},
|
||||
"kotlin": {
|
||||
"version": "2.1.10",
|
||||
@@ -329,7 +336,7 @@
|
||||
}
|
||||
},
|
||||
"openssl": {
|
||||
"version": "3.5.1",
|
||||
"version": "3.4.1",
|
||||
"pinnedDetails": {
|
||||
"link": "https://github.com/actions/runner-images-internal/pull/6702",
|
||||
"reason": "Meaningful reason must be added at next update.",
|
||||
|
||||
Reference in New Issue
Block a user