Compare commits

..
Author SHA1 Message Date
Image generation service account. e3e760bb2b Updating readme file for macos-15 version 20250721.1622 2025-07-21 15:28:28 +00:00
e27dbcbe29 Updating readme file for macos-14-arm64 version 20250715.1663 (#12593)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-18 14:46:31 +00:00
sureshe456 612f67eb25 [macOS] Pin kotlin to latest version(2.2.0) (#12610)
* unpin kotlin to 2.1.10 version

* # Avoid version call, use -help instead to avoid IR errors
2025-07-18 14:52:41 +05:30
7db2ea564d Updating readme file for macos-14 version 20250715.1434 (#12595)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-17 15:04:26 +00:00
akilesh-amaran 48261188cb [Windows] Update Kotlin to latest (#12607) 2025-07-17 19:34:03 +05:30
akilesh-amaran cb033ce75c [Ubuntu] Upgrade Kotlin to latest (#12608) 2025-07-17 19:33:43 +05:30
sureshe456 4eb57589e3 fix edge url to https://msedgedriver.microsoft.com (#12606) 2025-07-16 23:12:22 -05:00
12794075dd Updating readme file for ubuntu22 version 20250713.1.0 (#12583)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 18:07:44 +00:00
b86f6d2e1a Updating readme file for macos-15-arm64 version 20250714.1971 (#12587)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 17:25:20 +00:00
c8b797478e Updating readme file for ubuntu24 version 20250713.1.0 (#12584)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 16:54:19 +00:00
30127a0c86 Updating readme file for win22 version 20250713.1.0 (#12585)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 15:47:33 +00:00
6221f35ed4 Updating readme file for macos-15 version 20250714.1591 (#12591)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 15:33:12 +00:00
2d5daaffb9 Updating readme file for win25 version 20250713.1.0 (#12582)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 15:32:29 +00:00
d8a056bb80 Updating readme file for macos-13-arm64 version 20250714.1403 (#12586)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 13:02:51 +00:00
0ab9d6ae9a Updating readme file for macos-13 version 20250714.1328 (#12590)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-16 12:28:41 +00:00
kishorekumar-anchala bcdb306912 [Ubuntu, Windows] Update Edgedriver URL and maven version on Ubuntu (#12601)
* [Ubuntu, Windows] Update edgedriver URL

* [Ubuntu] Update maven version
2025-07-16 17:20:16 +05:30
kishorekumar-anchala 4423d3872f [Ubuntu] Improve kubectl installation script with retry logic and keyring checks (#12570)
* [Ubuntu] Fix kubectl error

* [Ubuntu] Remove dependencies
2025-07-15 08:59:19 -06:00
Shamil Mubarakshin 372fde29d0 Update labeled PR CI checks (#12344) 2025-07-15 10:33:54 +02:00
Alexey-Ayupov c97170d762 [Windows] Ensure MDE is not setup (#12544) 2025-07-14 16:02:48 +02:00
943d2a87d3 Updating readme file for win22 version 20250710.1.0 (#12575)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 18:10:34 +00:00
7e14c7b03f Updating readme file for macos-14-arm64 version 20250709.1652 (#12558)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 16:58:26 +00:00
910c625995 Updating readme file for win19 version 20250709.2.0 (#12567)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 15:05:46 +00:00
c528957547 Updating readme file for ubuntu24 version 20250710.1.0 (#12569)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 14:50:50 +00:00
dbc5ab78bf Updating readme file for ubuntu22 version 20250710.1.0 (#12568)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 14:37:47 +00:00
fe535d4795 Updating readme file for macos-14 version 20250709.1419 (#12556)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 14:33:55 +00:00
0273354e48 Updating readme file for macos-15-arm64 version 20250709.1961 (#12553)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 09:19:46 +00:00
c6eb63ef9a Updating readme file for macos-15 version 20250709.1581 (#12559)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 07:24:36 +00:00
9353bb703b Updating readme file for macos-13-arm64 version 20250709.1395 (#12554)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 04:48:24 +00:00
60406092fd Updating readme file for macos-13 version 20250709.1318 (#12561)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 03:50:30 +00:00
cdc9e90458 Updating readme file for win25 version 20250708.1.0 (#12548)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-11 02:59:33 +00:00
Subir Ghosh bd559cf98f Revert "[Windows 2022] Update strawberryperl to 5.40.2.2 (#12508)" (#12573)
This reverts commit 177bb02d71.
2025-07-10 12:51:54 -06:00
vidya sagar c49a3f7952 Revert "chore: Add ppa candidate repo to install 2.50.1 version of git (#12563)" (#12566)
This reverts commit 903ef895e7.
2025-07-10 13:09:24 +05:30
Subir Ghosh 903ef895e7 chore: Add ppa candidate repo to install 2.50.1 version of git (#12563) 2025-07-10 10:53:45 +05:30
Erik Bershel 26b12b9e2a [Windows-2019] Revert documentation until full removal (#12550)
* Revert "feat: Remove Windows 2019 readme (#12519)"

This reverts commit d83bbf16df.

* Fix Windows 2019 link and badge in README

* Hide ugly deployment badge by deprecation label
2025-07-09 12:14:17 +02:00
akilesh-amaran 70fd27fce0 [Windows-19] marking image as deprecated (#12528)
* [Windows]Mark windows-2019 as deprecated

* [Windows-19]  marking image as deprecated

* [Windows-19]  marking image as deprecated

* [Windows-19]  marking image as deprecated
2025-07-08 08:20:56 -06:00
kishorekumar-anchala 3eae73c57f [windows-22] Update WDK to latest (#12538) 2025-07-08 08:18:36 -06:00
Subir Ghosh 968c8b6bdb [Windows] Stop pinning of Visual Studio version (#12469)
* feat: Remove pinned VS version

* Removed installChannel vars from VS installation module

* debug: Check removal of installChannelUri

* fix: Remove InstallChannel completely

* feat: convert installchannel var to empty string

* feat: convert installchannel var to empty string

* feat: remove installchannel value to fallback to latest
2025-07-07 08:57:28 -06:00
Shamil Mubarakshin a4021ffba1 Update Ninja pester test (#12534) 2025-07-07 14:33:16 +02:00
kishorekumar-anchala 4bd4d1bbeb [ubuntu] Unpin the minikube version and updating to latest (#12480)
* [ubuntu] Create new key directory

* [ubuntu] upgrade installation process of kubectl

* Fix Kubernetes repository URL

* [Ubuntu] install dependecies

* [Ubuntu] Remove the permission

* [Ubuntu] Change the URL

* [Ubuntu] change the gpg source

* [Ubuntu] Set the permissions

* remove tmp folder

* Update the URL

* [Ubuntu] Update minikube to the latest
2025-07-04 19:57:33 +05:30
24bb79adc1 Updating readme file for macos-14-arm64 version 20250630.1634 (#12502)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-04 14:17:09 +00:00
Alexey-Ayupov 35fdc371fb Validate MS Defender is not installed (#12529) 2025-07-04 14:45:17 +02:00
53532a932a Updating readme file for win22 version 20250701.1.0 (#12511)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-03 19:22:02 +00:00
db6ff791ad Updating readme file for macos-14 version 20250630.1402 (#12505)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-03 15:46:39 +00:00
Alexey-Ayupov 5f33e416c5 Fix disk space issue (#12524) 2025-07-03 13:04:15 +02:00
cd16ce25c6 Updating readme file for macos-15-arm64 version 20250630.1914 (#12500)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-02 16:41:08 +00:00
834f98af30 Updating readme file for macos-13-arm64 version 20250630.1378 (#12493)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-02 16:21:25 +00:00
5c99ee9758 Updating readme file for macos-15 version 20250630.1559 (#12503)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-02 16:17:24 +00:00
4b93b18422 Updating readme file for win25 version 20250629.1.0 (#12498)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-02 15:23:52 +00:00
b810596256 Updating readme file for macos-13 version 20250630.1295 (#12499)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-02 15:16:57 +00:00
1f0781c008 Updating readme file for ubuntu24 version 20250629.1.0 (#12496)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-02 15:16:49 +00:00
Subir Ghosh d83bbf16df feat: Remove Windows 2019 readme (#12519) 2025-07-02 20:32:26 +05:30
37538a244e Updating readme file for ubuntu22 version 20250629.1.0 (#12495)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-07-02 14:52:47 +00:00
Prabhatkumar59 e4cb7b8095 Updating Openssl version to 3.5.1 (#12517) 2025-07-02 19:55:51 +05:30
Alexey-AyupovandShamil Mubarakshin c0f21da62d Refactor Packer templates for Windows and Ubuntu images (#12305)
Co-authored-by: Shamil Mubarakshin <[email protected]>
2025-07-02 13:31:15 +02:00
xavier2k6 5eb4bf07a6 [Windows 2025] Update strawberryperl to 5.40.2.2 (#12375) 2025-07-02 11:12:05 +05:30
xavier2k6 177bb02d71 [Windows 2022] Update strawberryperl to 5.40.2.2 (#12508) 2025-07-02 11:11:35 +05:30
Jeff Martin d64204ffc3 Merge pull request #12510 from github-maccloud/ns/update-tccdb
feat: add additional tccdb entries
2025-07-01 15:34:27 -05:00
Jeff Martin f443af2cd5 feat: add additional tccdb entries 2025-07-01 14:30:42 -05:00
Prabhatkumar59 d63ab024d4 Updating llvm version (#12501) 2025-06-30 20:57:32 -06:00
Pavel Iakovenko 7eede67cd0 Validate authenticode signature using the certificate Subject (#12474)
* Use cerificate subject to verify authenticode signature

* Use function instead of script variables

* Switch all places to using Get-MicrosoftPublisher

* Remove SignatureThumbprint

* Use common subject for the Edge driver
2025-06-30 19:33:57 -06:00
Alexey-Ayupov 0790ef6e2a [Windows-2025] Enable permission inheritance for the C: drive (#12467) 2025-06-30 17:30:31 +02:00
69 changed files with 1641 additions and 2373 deletions
+94 -22
View File
@@ -14,34 +14,106 @@ defaults:
jobs:
trigger-workflow:
runs-on: ubuntu-latest
outputs:
ci_workflow_run_id: ${{ steps.resolve.outputs.ci_workflow_run_id }}
ci_workflow_run_url: ${{ steps.resolve.outputs.ci_workflow_run_url }}
env:
CI_PR_TOKEN: ${{ secrets.CI_PR_TOKEN }}
PR_TITLE: ${{ github.event.pull_request.title }}
CI_REPO: ${{ vars.CI_REPO }}
steps:
- name: Trigger Build workflow
env:
CI_PR_TOKEN: ${{ secrets.CI_PR_TOKEN }}
PR_TITLE: ${{ github.event.pull_request.title }}
CI_PR: ${{ secrets.CI_REPO }}
run: |
$headers = @{
Authorization="Bearer $env:CI_PR_TOKEN"
}
- name: Checkout Code
uses: actions/checkout@v4
# Private repository for builds
$apiRepoUrl = "https://api.github.com/repos/$env:CI_PR"
- name: Trigger Build workflow
run: |
Import-Module ./helpers/GitHubApi.psm1
$gitHubApi = Get-GithubApi -Repository "${env:CI_REPO}" -AccessToken "${env:CI_PR_TOKEN}"
$eventType = "trigger-${{ inputs.image_type }}-build"
$body = @{
event_type = $eventType;
client_payload = @{
pr_title = "$env:PR_TITLE"
custom_repo = "${{ github.event.pull_request.head.repo.full_name }}"
[string] $prGuid = New-Guid
$clientPayload = @{
pr_title = "${env:PR_TITLE} - " + $prGuid
custom_repo = "${{ github.event.pull_request.head.repo.full_name }}"
custom_repo_commit_hash = "${{ github.event.pull_request.head.sha }}"
}
$gitHubApi.DispatchWorkflow($eventType, $clientPayload)
"PR_GUID=$prGuid" | Out-File -Append -FilePath $env:GITHUB_ENV
- name: Resolve Workflow Run ID
id: resolve
run: |
Import-Module ./helpers/GitHubApi.psm1
$gitHubApi = Get-GithubApi -Repository "${env:CI_REPO}" -AccessToken "${env:CI_PR_TOKEN}"
$workflowFileName = $("{0}.yml" -f "${{ inputs.image_type }}").ToLower()
$WorkflowSearchPattern = "${env:PR_GUID}"
# It might take a few minutes for the action to start
$attempt = 1
do {
$workflowRuns = $gitHubApi.GetWorkflowRuns($WorkflowFileName).workflow_runs
$workflowRunId = ($workflowRuns | Where-Object {$_.display_title -match $WorkflowSearchPattern}).id | Select-Object -First 1
if (-not ([string]::IsNullOrEmpty($workflowRunId))) {
$workflowRun = $gitHubApi.GetWorkflowRun($workflowRunId)
Write-Host "Found the workflow run with ID $workflowRunId on attempt $attempt. Workflow run link: $($workflowRun.html_url)"
"ci_workflow_run_id=$workflowRunId" | Out-File -Append -FilePath $env:GITHUB_OUTPUT
"ci_workflow_run_url=$($workflowRun.html_url)" | Out-File -Append -FilePath $env:GITHUB_OUTPUT
break
}
Write-Host "Workflow run for $WorkflowSearchPattern pattern not found on attempt $attempt."
$attempt += 1
Start-Sleep 30
} until ($attempt -eq 10)
if ([string]::IsNullOrEmpty($workflowRunId)) {
throw "Failed to find a workflow run for '$WorkflowSearchPattern'."
}
$bodyString = $body | ConvertTo-Json
wait-completion:
runs-on: ubuntu-latest
needs: trigger-workflow
steps:
- name: Checkout Code
uses: actions/checkout@v4
try {
Invoke-WebRequest -Uri "$apiRepoUrl/dispatches" -Method Post -Headers $headers -Body $bodyString | Out-Null
} catch {
throw "$($_.exception[0].message)"
}
- name: Wait for workflow completion
env:
CI_PR_TOKEN: ${{ secrets.CI_PR_TOKEN }}
CI_REPO: ${{ vars.CI_REPO }}
run: |
./helpers/WaitWorkflowCompletion.ps1 `
-WorkflowRunId "${{ needs.trigger-workflow.outputs.ci_workflow_run_id }}" `
-Repository "${env:CI_REPO}" `
-AccessToken "${env:CI_PR_TOKEN}"
- name: Add Summary
if: always()
run: |
"# Test Partner Image" >> $env:GITHUB_STEP_SUMMARY
"| Key | Value |" >> $env:GITHUB_STEP_SUMMARY
"| :-----------: | :--------: |" >> $env:GITHUB_STEP_SUMMARY
"| Workflow Run | [Link](${{ needs.trigger-workflow.outputs.ci_workflow_run_url }}) |" >> $env:GITHUB_STEP_SUMMARY
"| Workflow Result | $env:CI_WORKFLOW_RUN_RESULT |" >> $env:GITHUB_STEP_SUMMARY
" " >> $env:GITHUB_STEP_SUMMARY
cancel-workflow:
runs-on: ubuntu-latest
needs: [trigger-workflow, wait-completion]
if: cancelled()
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Cancel workflow
env:
CI_PR_TOKEN: ${{ secrets.CI_PR_TOKEN }}
CI_REPO: ${{ vars.CI_REPO }}
run: |
Import-Module ./helpers/GitHubApi.psm1
$gitHubApi = Get-GithubApi -Repository "${env:CI_REPO}" -AccessToken "${env:CI_PR_TOKEN}"
$gitHubApi.CancelWorkflowRun("${{ needs.trigger-workflow.outputs.ci_workflow_run_id }}")
+2 -2
View File
@@ -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] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-13-arm64.json) |
| Windows Server 2025 | `windows-2025` | [windows-2025] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin25.json) |
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin22.json) |
| Windows Server 2019 | `windows-2019` | [windows-2019] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin19.json) |
| Windows Server 2019 | `windows-2019` | [windows-2019] | ![Deprecated](https://img.shields.io/badge/-Deprecated-red) |
### 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
+8 -4
View File
@@ -76,7 +76,6 @@ 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.
@@ -99,7 +98,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 (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2204", "Ubuntu2404").
- `ImageType` - the type of image to build (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.
@@ -200,11 +199,14 @@ 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 -var "subscription_id=$SubscriptionId" `
packer build -only "$BuildName*" `
-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" `
@@ -213,13 +215,15 @@ packer build -var "subscription_id=$SubscriptionId" `
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 Packer template file (e.g., "images/windows/templates/windows-2022.pkr.hcl").
- `TemplatePath` - path to the folder with Packer template files (e.g., "images/windows/templates").
### Required variables
+27 -16
View File
@@ -6,10 +6,9 @@ enum ImageType {
Windows2025 = 3
Ubuntu2204 = 4
Ubuntu2404 = 5
UbuntuMinimal = 6
}
Function Get-PackerTemplatePath {
Function Get-PackerTemplate {
param (
[Parameter(Mandatory = $True)]
[string] $RepositoryRoot,
@@ -20,33 +19,41 @@ Function Get-PackerTemplatePath {
switch ($ImageType) {
# Note: Double Join-Path is required to support PowerShell 5.1
([ImageType]::Windows2019) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2019.pkr.hcl"
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2019.pkr.hcl"
$imageOS = "win19"
}
([ImageType]::Windows2022) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2022.pkr.hcl"
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2022.pkr.hcl"
$imageOS = "win22"
}
([ImageType]::Windows2025) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2025.pkr.hcl"
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2025.pkr.hcl"
$imageOS = "win25"
}
([ImageType]::Ubuntu2204) {
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-22.04.pkr.hcl"
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "build.ubuntu-22_04.pkr.hcl"
$imageOS = "ubuntu22"
}
([ImageType]::Ubuntu2404) {
$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"
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "build.ubuntu-24_04.pkr.hcl"
$imageOS = "ubuntu24"
}
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 $imageTemplatePath;
return [PSCustomObject] @{
"BuildName" = $buildName
"ImageOS" = $imageOS
"Path" = [IO.Path]::GetDirectoryName($imageTemplatePath)
}
}
Function Show-LatestCommit {
@@ -81,7 +88,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, UbuntuMinimal.
The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2204, Ubuntu2404.
.PARAMETER ManagedImageName
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
.PARAMETER AzureLocation
@@ -155,8 +162,8 @@ Function GenerateResourcesAndImage {
}
# Get template path
$TemplatePath = Get-PackerTemplatePath -RepositoryRoot $ImageGenerationRepositoryRoot -ImageType $ImageType
Write-Debug "Template path: $TemplatePath."
$PackerTemplate = Get-PackerTemplate -RepositoryRoot $ImageGenerationRepositoryRoot -ImageType $ImageType
Write-Debug "Template path: $($PackerTemplate.Path)."
# Prepare list of allowed inbound IP addresses
if ($RestrictToAgentIpAddress) {
@@ -208,17 +215,19 @@ 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)" `
$TemplatePath
$PackerTemplate.Path
if ($LastExitCode -ne 0) {
throw "Packer template validation failed."
@@ -276,17 +285,19 @@ 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)" `
$TemplatePath
$PackerTemplate.Path
if ($LastExitCode -ne 0) {
throw "Failed to build image."
+97
View File
@@ -0,0 +1,97 @@
class GithubApi
{
[string] $Repository
[object] hidden $AuthHeader
GithubApi(
[string] $Repository,
[string] $AccessToken
) {
$this.Repository = $Repository
$this.AuthHeader = $this.BuildAuth($AccessToken)
}
[object] hidden BuildAuth([string]$AccessToken) {
if ([string]::IsNullOrEmpty($AccessToken)) {
return $null
}
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("'':${AccessToken}"))
return @{
Authorization = "Basic ${base64AuthInfo}"
}
}
[string] hidden BuildBaseUrl([string]$Repository, [string]$ApiPrefix) {
return "https://$ApiPrefix.github.com/repos/$Repository"
}
[object] GetWorkflowRuns([string]$WorkflowId) {
$url = "actions/workflows/$WorkflowId/runs"
$response = $this.InvokeRestMethod($url, 'GET', $null, $null)
return $response
}
[object] GetWorkflowRun([string]$WorkflowRunId) {
$url = "actions/runs/$WorkflowRunId"
$response = $this.InvokeRestMethod($url, 'GET', $null, $null)
return $response
}
[object] DispatchWorkflow([string]$EventType, [object]$EventPayload) {
$url = "dispatches"
$body = @{
"event_type" = $EventType
"client_payload" = $EventPayload
} | ConvertTo-Json
$response = $this.InvokeRestMethod($url, 'POST', $null, $body)
return $response
}
[object] CancelWorkflowRun([string]$workflowRunId) {
$url = "actions/runs/$workflowRunId/cancel"
$response = $this.InvokeRestMethod($url, 'POST', $null, $null)
return $response
}
[string] hidden BuildUrl([string]$url, [string]$RequestParams, [string]$ApiPrefix) {
$baseUrl = $this.BuildBaseUrl($this.Repository, $ApiPrefix)
if ([string]::IsNullOrEmpty($RequestParams)) {
return "$($baseUrl)/$($url)"
} else {
return "$($baseUrl)/$($url)?$($requestParams)"
}
}
[object] hidden InvokeRestMethod(
[string] $url,
[string] $Method,
[string] $RequestParams,
[string] $body
) {
$requestUrl = $this.BuildUrl($url, $RequestParams, "api")
$params = @{
Method = $Method
ContentType = "application/json"
Uri = $requestUrl
Headers = @{}
}
if ($this.AuthHeader) {
$params.Headers += $this.AuthHeader
}
if (![string]::IsNullOrEmpty($body)) {
$params.Body = $body
}
$response = Invoke-RestMethod @params
return $response
}
}
function Get-GithubApi {
param (
[string] $Repository,
[string] $AccessToken
)
return [GithubApi]::New($Repository, $AccessToken)
}
+47
View File
@@ -0,0 +1,47 @@
Param (
[Parameter(Mandatory)]
[string] $WorkflowRunId,
[Parameter(Mandatory)]
[string] $Repository,
[Parameter(Mandatory)]
[string] $AccessToken,
[int] $RetryIntervalSeconds = 300,
[int] $MaxRetryCount = 0
)
Import-Module (Join-Path $PSScriptRoot "GitHubApi.psm1")
function Wait-ForWorkflowCompletion($WorkflowRunId, $RetryIntervalSeconds) {
do {
Start-Sleep -Seconds $RetryIntervalSeconds
$workflowRun = $gitHubApi.GetWorkflowRun($WorkflowRunId)
} until ($workflowRun.status -eq "completed")
return $workflowRun
}
$gitHubApi = Get-GithubApi -Repository $Repository -AccessToken $AccessToken
$attempt = 1
do {
$finishedWorkflowRun = Wait-ForWorkflowCompletion -WorkflowRunId $WorkflowRunId -RetryIntervalSeconds $RetryIntervalSeconds
Write-Host "Workflow run finished with result: $($finishedWorkflowRun.conclusion)"
if ($finishedWorkflowRun.conclusion -in ("success", "cancelled", "timed_out")) {
break
} elseif ($finishedWorkflowRun.conclusion -eq "failure") {
if ($attempt -le $MaxRetryCount) {
Write-Host "Workflow run will be restarted. Attempt $attempt of $MaxRetryCount"
$gitHubApi.ReRunFailedJobs($WorkflowRunId)
$attempt += 1
} else {
break
}
}
} while ($true)
Write-Host "Last result: $($finishedWorkflowRun.conclusion)."
"CI_WORKFLOW_RUN_RESULT=$($finishedWorkflowRun.conclusion)" | Out-File -Append -FilePath $env:GITHUB_ENV
if ($finishedWorkflowRun.conclusion -in ("failure", "cancelled", "timed_out")) {
exit 1
}
+11 -5
View File
@@ -1,5 +1,6 @@
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,
@@ -8,7 +9,9 @@ param(
[String] [Parameter (Mandatory=$true)] $TempResourceGroupName,
[String] [Parameter (Mandatory=$true)] $SubscriptionId,
[String] [Parameter (Mandatory=$true)] $TenantId,
[String] [Parameter (Mandatory=$false)] $pluginVersion = "2.2.1",
[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)] $VirtualNetworkName,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet,
@@ -22,7 +25,7 @@ if (-not (Test-Path $TemplatePath))
exit 1
}
$ImageTemplateName = [io.path]::GetFileName($TemplatePath).Split(".")[0]
$buildName = $($BuildTemplateName).Split(".")[1]
$InstallPassword = [System.GUID]::NewGuid().ToString().ToUpper()
$SensitiveData = @(
@@ -44,13 +47,15 @@ Write-Host "Download packer plugins"
packer plugins install github.com/hashicorp/azure $pluginVersion
Write-Host "Validate packer template"
packer validate -syntax-only $TemplatePath
packer validate -syntax-only -only "$buildName*" $TemplatePath
Write-Host "Build $ImageTemplateName VM"
packer build -var "client_id=$ClientId" `
Write-Host "Build $buildName VM"
packer build -only "$buildName*" `
-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" `
@@ -60,6 +65,7 @@ packer build -var "client_id=$ClientId" `
-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 `
+50 -49
View File
@@ -1,16 +1,17 @@
| Announcements |
|-|
| [[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] 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) |
***
# macOS 13
- OS Version: macOS 13.7.6 (22H625)
- Kernel Version: Darwin 22.6.0
- Image Version: 20250623.1267
- Image Version: 20250714.1328
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.411, 9.0.102, 9.0.203, 9.0.301
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.302
- Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
@@ -22,9 +23,9 @@
- 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.2
- Node.js 20.19.3
- Perl 5.40.2
- PHP 8.4.8
- PHP 8.4.10
- Python3 3.13.5
- Ruby 3.3.8
@@ -32,56 +33,56 @@
- Bundler 2.6.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.9
- Homebrew 4.5.7
- Composer 2.8.10
- Homebrew 4.5.9
- 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 0cf34c184c)
- Vcpkg 2025 (build from commit e86ec03236)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.10
- Gradle 8.14.2
- Gradle 8.14.3
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.29.1
- bazel 8.2.1
- bazel 8.3.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.14.1
- Git 2.50.0
- Git LFS 3.6.1
- GitHub CLI 2.74.2
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.75.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.0
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.13.1
- pkgconf 2.5.0
- pkgconf 2.5.1
- Unxip 3.1
- yq 4.45.4
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### Tools
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- AWS CLI 2.27.50
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.36.1
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.36.177
- Cmake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Fastlane 2.228.0
- SwiftFormat 0.56.4
- Xcbeautify 2.28.0
- SwiftFormat 0.57.0
- Xcbeautify 2.29.0
- Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.2
@@ -91,14 +92,14 @@
### Browsers
- Safari 18.5 (18621.2.5.18.1)
- SafariDriver 18.5 (18621.2.5.18.1)
- 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
- Google Chrome 138.0.7204.101
- Google Chrome for Testing 138.0.7204.94
- ChromeDriver 138.0.7204.94
- Microsoft Edge 138.0.3351.83
- Microsoft Edge WebDriver 138.0.3351.83
- Mozilla Firefox 140.0.4
- geckodriver 0.36.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -118,7 +119,7 @@
### Cached Tools
#### PyPy
- 2.7.18 [PyPy 7.3.19]
- 2.7.18 [PyPy 7.3.20]
- 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16]
@@ -140,29 +141,29 @@
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### PowerShell Modules
- Az: 12.4.0
- Az: 12.5.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
@@ -213,8 +214,8 @@
| visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| DriverKit 22.1 | driverkit22.1 | 14.1 |
| DriverKit 22.2 | driverkit22.2 | 14.2 |
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
@@ -242,15 +243,15 @@
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.0.0 |
| 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.1.13356709 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -258,7 +259,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.1.13356709 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
@@ -268,7 +269,7 @@
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.2-55975/ParallelsDesktop-20.3.2-55975.dmg |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.4.0-55980/ParallelsDesktop-20.4.0-55980.dmg |
##### Notes
```
+43 -42
View File
@@ -1,16 +1,17 @@
| Announcements |
|-|
| [[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] 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) |
***
# macOS 13
- OS Version: macOS 13.7.6 (22H625)
- Kernel Version: Darwin 22.6.0
- Image Version: 20250623.1360
- Image Version: 20250714.1403
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.411, 9.0.102, 9.0.203, 9.0.301
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.302
- Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
@@ -22,7 +23,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.2
- Node.js 20.19.3
- Perl 5.40.2
- Python3 3.13.5
- Ruby 3.3.8
@@ -31,7 +32,7 @@
- Bundler 2.6.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.5.7
- Homebrew 4.5.9
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 25.1.1 (python 3.13)
@@ -42,43 +43,43 @@
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.10
- Gradle 8.14.2
- Gradle 8.14.3
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.29.1
- bazel 8.2.1
- bazel 8.3.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.50.0
- Git LFS 3.6.1
- GitHub CLI 2.74.2
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.75.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.0
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.13.1
- pkgconf 2.5.0
- pkgconf 2.5.1
- Unxip 3.1
- yq 4.45.4
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### Tools
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- AWS CLI 2.27.50
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.36.1
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.36.177
- Cmake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Fastlane 2.228.0
- SwiftFormat 0.56.4
- Xcbeautify 2.28.0
- SwiftFormat 0.57.0
- Xcbeautify 2.29.0
- Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.2
@@ -87,12 +88,12 @@
### Browsers
- Safari 18.5 (18621.2.5.18.1)
- SafariDriver 18.5 (18621.2.5.18.1)
- Google Chrome 137.0.7151.120
- Google Chrome for Testing 137.0.7151.119
- ChromeDriver 137.0.7151.119
- Mozilla Firefox 139.0.4
- Google Chrome 138.0.7204.101
- Google Chrome for Testing 138.0.7204.94
- ChromeDriver 138.0.7204.94
- Mozilla Firefox 140.0.4
- geckodriver 0.36.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -123,29 +124,29 @@
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### PowerShell Modules
- Az: 12.4.0
- Az: 12.5.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
@@ -196,8 +197,8 @@
| visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| DriverKit 22.1 | driverkit22.1 | 14.1 |
| DriverKit 22.2 | driverkit22.2 | 14.2 |
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
@@ -226,15 +227,15 @@
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.0.0 |
| 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.1.13356709 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -242,7 +243,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.1.13356709 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
+50 -49
View File
@@ -1,16 +1,17 @@
| Announcements |
|-|
| [[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] 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) |
***
# macOS 14
- OS Version: macOS 14.7.6 (23H626)
- Kernel Version: Darwin 23.6.0
- Image Version: 20250623.1377
- Image Version: 20250715.1434
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.411, 9.0.102, 9.0.203, 9.0.301
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.302
- 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`
@@ -22,9 +23,9 @@
- 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.2
- Node.js 20.19.3
- Perl 5.40.2
- PHP 8.4.8
- PHP 8.4.10
- Python3 3.13.5
- Ruby 3.3.8
@@ -32,56 +33,56 @@
- Bundler 2.6.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.9
- Homebrew 4.5.7
- Composer 2.8.10
- Homebrew 4.5.10
- 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 0cf34c184c)
- Vcpkg 2025 (build from commit 30f771d4ac)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.10
- Gradle 8.14.2
- Gradle 8.14.3
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.29.1
- bazel 8.2.1
- bazel 8.3.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.14.1
- Git 2.50.0
- Git LFS 3.6.1
- GitHub CLI 2.74.2
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.75.1
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.0
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.13.1
- pkgconf 2.5.0
- Unxip 3.1
- yq 4.45.4
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### Tools
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- AWS CLI 2.27.50
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.36.1
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.36.177
- Cmake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Fastlane 2.228.0
- SwiftFormat 0.56.4
- Xcbeautify 2.28.0
- SwiftFormat 0.57.2
- Xcbeautify 2.29.0
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.2
@@ -91,14 +92,14 @@
### Browsers
- Safari 18.5 (19621.2.5.18.1)
- SafariDriver 18.5 (19621.2.5.18.1)
- 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
- Google Chrome 138.0.7204.101
- Google Chrome for Testing 138.0.7204.94
- ChromeDriver 138.0.7204.94
- Microsoft Edge 138.0.3351.83
- Microsoft Edge WebDriver 138.0.3351.83
- Mozilla Firefox 140.0.4
- geckodriver 0.36.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -132,29 +133,29 @@
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### PowerShell Modules
- Az: 12.4.0
- Az: 12.5.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
@@ -236,7 +237,7 @@
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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.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 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) |
@@ -257,15 +258,15 @@
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.0.0 |
| 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.1.13356709 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -273,7 +274,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.1.13356709 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
@@ -283,7 +284,7 @@
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.2-55975/ParallelsDesktop-20.3.2-55975.dmg |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.4.0-55980/ParallelsDesktop-20.4.0-55980.dmg |
##### Notes
```
+44 -43
View File
@@ -1,16 +1,17 @@
| Announcements |
|-|
| [[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] 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) |
***
# macOS 14
- OS Version: macOS 14.7.6 (23H626)
- Kernel Version: Darwin 23.6.0
- Image Version: 20250623.1617
- Image Version: 20250715.1663
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.411, 9.0.102, 9.0.203, 9.0.301
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.302
- 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`
@@ -22,7 +23,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.2
- Node.js 20.19.3
- Perl 5.40.2
- Python3 3.13.5
- Ruby 3.3.8
@@ -31,55 +32,55 @@
- Bundler 2.6.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.5.7
- Homebrew 4.5.10
- 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 0cf34c184c)
- Vcpkg 2025 (build from commit 30f771d4ac)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.10
- Gradle 8.14.2
- Gradle 8.14.3
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.29.1
- bazel 8.2.1
- bazel 8.3.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.50.0
- Git LFS 3.6.1
- GitHub CLI 2.74.2
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.75.1
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.0
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.13.1
- pkgconf 2.5.0
- Unxip 3.1
- yq 4.45.4
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### Tools
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- AWS CLI 2.27.50
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.36.1
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.36.177
- Cmake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Fastlane 2.228.0
- SwiftFormat 0.56.4
- Xcbeautify 2.28.0
- SwiftFormat 0.57.2
- Xcbeautify 2.29.0
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.2
@@ -88,12 +89,12 @@
### Browsers
- Safari 18.5 (19621.2.5.18.1)
- SafariDriver 18.5 (19621.2.5.18.1)
- Google Chrome 137.0.7151.120
- Google Chrome for Testing 137.0.7151.119
- ChromeDriver 137.0.7151.119
- Mozilla Firefox 139.0.4
- Google Chrome 138.0.7204.101
- Google Chrome for Testing 138.0.7204.94
- ChromeDriver 138.0.7204.94
- Mozilla Firefox 140.0.4
- geckodriver 0.36.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -124,29 +125,29 @@
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### PowerShell Modules
- Az: 12.4.0
- Az: 12.5.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
@@ -254,15 +255,15 @@
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.0.0 |
| 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.1.13356709 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -270,7 +271,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.1.13356709 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
+48 -48
View File
@@ -1,17 +1,17 @@
| 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] 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) |
***
# macOS 15
- OS Version: macOS 15.5 (24F5068b)
- Kernel Version: Darwin 24.5.0
- Image Version: 20250630.1559
- Image Version: 20250721.1622
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.411, 9.0.102, 9.0.203, 9.0.301
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.303
- Bash 3.2.57(1)-release
- Clang/LLVM 16.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
@@ -21,66 +21,66 @@
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- 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
- Kotlin 2.2.0-release-294
- Node.js 22.17.1
- Perl 5.40.2
- PHP 8.4.8
- PHP 8.4.10
- Python3 3.13.5
- Ruby 3.3.8
### Package Management
- Bundler 2.6.9
- Bundler 2.7.0
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.9
- Homebrew 4.5.8
- Composer 2.8.10
- Homebrew 4.5.10
- 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)
- RubyGems 3.7.0
- Vcpkg 2025 (build from commit ef97fc17c7)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.10
- Gradle 8.14.2
- Apache Maven 3.9.11
- Gradle 8.14.3
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.29.1
- bazel 8.3.0
- bazel 8.3.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.14.1
- Git 2.50.0
- Curl 8.15.0
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.74.2
- GitHub CLI 2.76.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.0
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.13.1
- pkgconf 2.5.1
- Unxip 3.1
- yq 4.45.4
- Unxip 3.2
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### Tools
- AWS CLI 2.27.45
- AWS SAM CLI 1.141.0
- AWS CLI 2.27.55
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.36.1
- Bicep CLI 0.36.177
- Cmake 3.31.6
- CodeQL Action Bundle 2.22.1
- Fastlane 2.228.0
- SwiftFormat 0.56.4
- Xcbeautify 2.28.0
- SwiftFormat 0.57.2
- Xcbeautify 2.29.0
- Xcode Command Line Tools 16.4.0.0.1.1747106510
- Xcodes 1.6.2
@@ -90,14 +90,14 @@
### 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 138.0.7204.158
- Google Chrome for Testing 138.0.7204.157
- ChromeDriver 138.0.7204.157
- Microsoft Edge 138.0.3351.95
- Microsoft Edge WebDriver 138.0.3351.95
- Mozilla Firefox 140.0.4
- geckodriver 0.36.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -109,9 +109,9 @@
### Java
| Version | Environment Variable |
| -------------------- | -------------------- |
| 11.0.27+6 | JAVA_HOME_11_X64 |
| 17.0.15+6 | JAVA_HOME_17_X64 |
| 21.0.7+6.0 (default) | JAVA_HOME_21_X64 |
| 11.0.28+6 | JAVA_HOME_11_X64 |
| 17.0.16+8 | JAVA_HOME_17_X64 |
| 21.0.8+9.0 (default) | JAVA_HOME_21_X64 |
### Cached Tools
@@ -119,7 +119,7 @@
- 3.1.7
- 3.2.8
- 3.3.8
- 3.4.4
- 3.4.5
#### Python
- 3.9.23
@@ -130,13 +130,13 @@
#### Node.js
- 18.20.8
- 20.19.3
- 22.17.0
- 20.19.4
- 22.17.1
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
### Rust Tools
- Cargo 1.88.0
@@ -265,16 +265,16 @@
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default)<br>28.1.13356709 |
| NDK | 26.3.11579264<br>27.3.13750724 (default)<br>28.2.13676358 |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
+44 -43
View File
@@ -1,16 +1,17 @@
| Announcements |
|-|
| [[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] 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) |
***
# macOS 15
- OS Version: macOS 15.5 (24F74)
- Kernel Version: Darwin 24.5.0
- Image Version: 20250623.1849
- Image Version: 20250714.1971
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.411, 9.0.102, 9.0.203, 9.0.301
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.302
- Bash 3.2.57(1)-release
- Clang/LLVM 16.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
@@ -21,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.16.0
- Node.js 22.17.0
- Perl 5.40.2
- Python3 3.13.5
- Ruby 3.3.8
@@ -30,54 +31,54 @@
- Bundler 2.6.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.5.7
- Homebrew 4.5.9
- NPM 10.9.2
- Pip3 25.1.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.6.9
- Vcpkg 2025 (build from commit 0cf34c184c)
- Vcpkg 2025 (build from commit e86ec03236)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.10
- Gradle 8.14.2
- Gradle 8.14.3
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.29.1
- bazel 8.2.1
- bazel 8.3.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.50.0
- Git LFS 3.6.1
- GitHub CLI 2.74.2
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.75.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.0
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.13.1
- pkgconf 2.5.0
- Unxip 3.1
- yq 4.45.4
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### Tools
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- AWS CLI 2.27.50
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.36.1
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.36.177
- Cmake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Fastlane 2.228.0
- SwiftFormat 0.56.4
- Xcbeautify 2.28.0
- SwiftFormat 0.57.0
- Xcbeautify 2.29.0
- Xcode Command Line Tools 16.4.0.0.1.1747106510
- Xcodes 1.6.2
@@ -86,12 +87,12 @@
### Browsers
- Safari 18.5 (20621.2.5.11.8)
- SafariDriver 18.5 (20621.2.5.11.8)
- Google Chrome 137.0.7151.120
- Google Chrome for Testing 137.0.7151.119
- ChromeDriver 137.0.7151.119
- Mozilla Firefox 139.0.4
- Google Chrome 138.0.7204.101
- Google Chrome for Testing 138.0.7204.94
- ChromeDriver 138.0.7204.94
- Mozilla Firefox 140.0.4
- geckodriver 0.36.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -122,29 +123,29 @@
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### PowerShell Modules
- Az: 12.4.0
- Az: 12.5.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
@@ -252,15 +253,15 @@
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default)<br>28.1.13356709 |
| NDK | 26.3.11579264<br>27.2.12479018 (default)<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -268,7 +269,7 @@
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
@@ -32,6 +32,14 @@ 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
@@ -67,6 +75,13 @@ 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
@@ -15,15 +15,6 @@ for package in $common_packages; do
brew install hashicorp/tap/packer
;;
kotlin)
# Pin kotlin bottle to 2.1.10 due to an issue with the latest version
# https://youtrack.jetbrains.com/issue/KT-76169/kotlinc-js-version-and-kapt-version-returning-non-zero-status-code-on-v2.1.20
kotlin_commit="442af88a2925f8c0e079eaf4fa62261133d2d7c4"
kotlin_rb_link="https://raw.githubusercontent.com/Homebrew/homebrew-core/$kotlin_commit/Formula/k/kotlin.rb"
kotlin_rb_path=$(download_with_retry "$kotlin_rb_link")
brew install "$kotlin_rb_path"
;;
cmake)
# Pin cmake bottle to 3.31.6 due to a backward compatibility issue with the latest version
# https://github.com/actions/runner-images/issues/11926
+2 -2
View File
@@ -17,9 +17,9 @@ echo "Version of Microsoft Edge: ${edge_version}"
echo "Installing Microsoft Edge WebDriver..."
edge_driver_version_file_path=$(download_with_retry "https://msedgedriver.azureedge.net/LATEST_RELEASE_${edge_version_major}_MACOS")
edge_driver_version_file_path=$(download_with_retry "https://msedgedriver.microsoft.com/LATEST_RELEASE_${edge_version_major}_MACOS")
edge_driver_latest_version=$(iconv -f utf-16 -t utf-8 "$edge_driver_version_file_path" | tr -d '\r')
edge_driver_url="https://msedgedriver.azureedge.net/${edge_driver_latest_version}/edgedriver_mac64.zip"
edge_driver_url="https://msedgedriver.microsoft.com/${edge_driver_latest_version}/edgedriver_mac64.zip"
echo "Compatible version of WebDriver: ${edge_driver_latest_version}"
@@ -133,7 +133,7 @@ Describe "Kotlin" {
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlinc-js")
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
"$toolName -version" | Should -ReturnZeroExitCode
"$toolName -help" | Should -ReturnZeroExitCode
}
}
+64 -65
View File
@@ -1,12 +1,11 @@
| Announcements |
|-|
| [[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-1029-azure
- Image Version: 20250622.1.0
- Kernel Version: 6.8.0-1030-azure
- Image Version: 20250713.1.0
- Systemd version: 249.11-0ubuntu3.16
## Installed Software
@@ -19,11 +18,11 @@
- Dash 0.5.11+git20210903+057cd650a4ed-3build1
- GNU C++: 10.5.0, 11.4.0, 12.3.0
- GNU Fortran: 10.5.0, 11.4.0, 12.3.0
- Julia 1.11.5
- Julia 1.11.6
- 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.2
- Node.js 20.19.3
- Perl 5.34.0
- Python 3.10.12
- Ruby 3.0.2p107
@@ -31,16 +30,16 @@
### Package Management
- cpan 1.64
- Helm 3.18.3
- Homebrew 4.5.7
- Miniconda 25.3.1
- Helm 3.18.4
- Homebrew 4.5.9
- Miniconda 25.5.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 0cf34c184c)
- Vcpkg (build from commit 09b8d93e61)
- Yarn 1.22.22
#### Environment variables
@@ -59,40 +58,40 @@ to accomplish this.
### Project Management
- Ant 1.10.12
- Gradle 8.14.2
- Lerna 8.2.2
- Gradle 8.14.3
- Lerna 8.2.3
- Maven 3.9.10
- Sbt 1.11.2
- Sbt 1.11.3
### Tools
- Ansible 2.17.12
- apt-fast 1.10.0
- AzCopy 10.29.1 - available by `azcopy` and `azcopy10` aliases
- Bazel 8.2.1
- Bazel 8.3.1
- Bazelisk 1.26.0
- Bicep 0.36.1
- Bicep 0.36.177
- Buildah 1.23.1
- CMake 3.31.6
- CodeQL Action Bundle 2.22.0
- Docker Amazon ECR Credential Helper 0.10.0
- CodeQL Action Bundle 2.22.1
- Docker Amazon ECR Credential Helper 0.10.1
- Docker Compose v2 2.36.2
- Docker-Buildx 0.25.0
- Docker Client 28.0.4
- Docker Server 28.0.4
- Fastlane 2.228.0
- Git 2.49.0
- Git LFS 3.6.1
- Git 2.50.1
- Git LFS 3.7.0
- Git-ftp 1.6.0
- Haveged 1.9.14
- Heroku 10.10.1
- Heroku 10.11.0
- jq 1.6
- Kind 0.29.0
- Kubectl 1.33.2
- Kustomize 5.6.0
- Kustomize 5.7.0
- Leiningen 2.11.2
- MediaInfo 21.09
- Mercurial 6.1.1
- Minikube 1.34.0
- Minikube 1.36.0
- n 10.2.0
- Newman 6.2.1
- nvm 0.40.3
@@ -100,30 +99,30 @@ to accomplish this.
- Packer 1.13.1
- Parcel 2.15.4
- Podman 3.4.4
- Pulumi 3.178.0
- Pulumi 3.181.0
- R 4.5.1
- Skopeo 1.4.1
- Sphinx Open Source Search Server 2.2.11
- SVN 1.14.1
- Terraform 1.12.2
- yamllint 1.37.1
- yq 4.45.4
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### CLI Tools
- Alibaba Cloud CLI 3.0.284
- AWS CLI 2.27.40
- Alibaba Cloud CLI 3.0.289
- AWS CLI 2.27.50
- 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.1
- GitHub CLI 2.74.2
- Google Cloud CLI 527.0.0
- Netlify CLI 22.1.3
- OpenShift CLI 4.19.0
- AWS SAM CLI 1.142.1
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- GitHub CLI 2.75.0
- Google Cloud CLI 529.0.0
- Netlify CLI 22.2.2
- OpenShift CLI 4.19.3
- ORAS CLI 1.2.3
- Vercel CLI 43.3.0
- Vercel CLI 44.4.1
### Java
| Version | Environment Variable |
@@ -135,7 +134,7 @@ to accomplish this.
### PHP Tools
- PHP: 8.1.2
- Composer 2.8.9
- Composer 2.8.10
- PHPUnit 8.5.42
```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
@@ -145,30 +144,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.5.1
- Stack 3.7.1
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Bindgen 0.72.0
- Cargo audit 0.21.2
- Cargo clippy 0.1.87
- Cargo clippy 0.1.88
- Cargo outdated 0.17.0
- Cbindgen 0.29.0
- Rustfmt 1.8.0
### Browsers and Drivers
- 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
- Google Chrome 138.0.7204.100
- ChromeDriver 138.0.7204.94
- Chromium 138.0.7204.0
- Microsoft Edge 138.0.3351.83
- Microsoft Edge WebDriver 138.0.3351.83
- Selenium server 4.34.0
- Mozilla Firefox 140.0.4
- Geckodriver 0.36.0
#### Environment variables
@@ -180,7 +179,7 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools
- .NET Core SDK: 6.0.428, 8.0.411, 9.0.203
- .NET Core SDK: 6.0.428, 8.0.412, 9.0.203
- nbgv 3.7.115+d31f50f4d1
### Databases
@@ -195,7 +194,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
```
#### MySQL
- MySQL 8.0.42-0ubuntu0.22.04.1
- MySQL 8.0.42-0ubuntu0.22.04.2
```
User: root
Password: root
@@ -211,13 +210,13 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Python
- 3.9.23
@@ -241,9 +240,9 @@ Use the following command as a part of your job to start the service: 'sudo syst
- PowerShell 7.4.10
#### PowerShell Modules
- Az: 12.1.0
- Az: 12.5.0
- MarkdownPS: 1.10
- Microsoft.Graph: 2.28.0
- Microsoft.Graph: 2.29.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
@@ -258,7 +257,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 | 35.0.2 |
| Android SDK Platform-Tools | 36.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 Support Repository | 47.0.0 |
| CMake | 3.18.1<br>3.22.1<br>3.31.5 |
@@ -284,16 +283,16 @@ Use the following command as a part of your job to start the service: 'sudo syst
| alpine:3.18 | sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f | 2025-02-14 |
| alpine:3.19 | sha256:e5d0aea7f7d2954678a9a6269ca2d06e06591881161961ea59e974dff3f12377 | 2025-02-14 |
| debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 |
| debian:11 | sha256:0d3279ff38fb2024358b2f24fbb99122f9a9a40618bb526b614527e998bcda28 | 2025-06-10 |
| moby/buildkit:latest | sha256:dbc2dfd9342fd5c891ea94e9774c15cab985681e5ff995a9e366066aa0b9b2b4 | 2025-06-20 |
| debian:11 | sha256:6d4f6b40afca63b59a44ffcedbb2e457e83b645710916d7f094b79c6c591ac28 | 2025-06-30 |
| moby/buildkit:latest | sha256:ddd1ca44b21eda906e81ab14a3d467fa6c39cd73b9a39df1196210edcb8db59e | 2025-07-01 |
| node:18 | sha256:c6ae79e38498325db67193d391e6ec1d224d96c693a8a4d943498556716d3783 | 2025-03-27 |
| node:18-alpine | sha256:8d6421d663b4c28fd3ebc498332f249011d118945588d0a35cb9bc4b8ca09d9e | 2025-03-27 |
| 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 |
| node:20 | sha256:2c3f34d2d28e4c13b26f7244c653527d15544626e85b1a21fb67a95ba4df9a01 | 2025-07-02 |
| node:20-alpine | sha256:fa316946c0cb1f041fe46dda150f3085b71168555e5706ec0c7466a5bae12244 | 2025-07-02 |
| node:22 | sha256:2fa6c977460b56d4d8278947ab56faeb312bc4cc6c4cf78920c6de27812f51c5 | 2025-07-02 |
| node:22-alpine | sha256:10962e8568729b0cfd506170c5a2d1918a2c10ac08c0e6900180b4bac061adc9 | 2025-07-02 |
| ubuntu:20.04 | sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214 | 2025-04-08 |
| ubuntu:22.04 | sha256:01a3ee0b5e413cefaaffc6abe68c9c37879ae3cced56a8e088b1649e5b269eee | 2025-05-30 |
| ubuntu:22.04 | sha256:3c61d3759c2639d4b836d32a2d3c83fa0214e36f195a3421018dbaaf79cbe37f | 2025-06-20 |
### Installed apt packages
| Name | Version |
@@ -320,7 +319,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| ftp | 20210827-4build1 |
| g++ | 4:11.2.0-1ubuntu1 |
| gcc | 4:11.2.0-1ubuntu1 |
| gnupg2 | 2.2.27-3ubuntu2.3 |
| gnupg2 | 2.2.27-3ubuntu2.4 |
| haveged | 1.9.14-1ubuntu1 |
| imagemagick | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.5 |
| iproute2 | 5.15.0-1ubuntu2 |
@@ -372,7 +371,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| ssh | 1:8.9p1-3ubuntu0.13 |
| sshpass | 1.09-1 |
| subversion | 1.14.1-3ubuntu0.22.04.1 |
| sudo | 1.9.9-1ubuntu2.4 |
| sudo | 1.9.9-1ubuntu2.5 |
| swig | 4.0.2-1ubuntu1 |
| systemd-coredump | 249.11-0ubuntu3.16 |
| tar | 1.34+dfsg-1ubuntu0.1.22.04.2 |
+51 -52
View File
@@ -1,12 +1,11 @@
| Announcements |
|-|
| [[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: 20250622.1.0
- Kernel Version: 6.11.0-1018-azure
- Image Version: 20250713.1.0
- Systemd version: 255.4-1ubuntu8.8
## Installed Software
@@ -19,9 +18,9 @@
- Dash 0.5.12-6ubuntu5
- GNU C++: 12.3.0, 13.3.0, 14.2.0
- GNU Fortran: 12.3.0, 13.3.0, 14.2.0
- Julia 1.11.5
- Julia 1.11.6
- Kotlin 2.1.10-release-473
- Node.js 20.19.2
- Node.js 20.19.3
- Perl 5.38.2
- Python 3.12.3
- Ruby 3.2.3
@@ -29,15 +28,15 @@
### Package Management
- cpan 1.64
- Helm 3.18.3
- Homebrew 4.5.7
- Miniconda 25.3.1
- Helm 3.18.4
- Homebrew 4.5.9
- Miniconda 25.5.1
- Npm 10.8.2
- Pip 24.0
- Pip3 24.0
- Pipx 1.7.1
- RubyGems 3.4.20
- Vcpkg (build from commit 0cf34c184c)
- Vcpkg (build from commit 09b8d93e61)
- Yarn 1.22.22
#### Environment variables
@@ -56,36 +55,36 @@ to accomplish this.
### Project Management
- Ant 1.10.14
- Gradle 8.14.2
- Lerna 8.2.2
- Gradle 8.14.3
- Lerna 8.2.3
- Maven 3.9.10
### Tools
- Ansible 2.18.6
- AzCopy 10.29.1 - available by `azcopy` and `azcopy10` aliases
- Bazel 8.2.1
- Bazel 8.3.1
- Bazelisk 1.26.0
- Bicep 0.36.1
- Bicep 0.36.177
- Buildah 1.33.7
- CMake 3.31.6
- CodeQL Action Bundle 2.22.0
- Docker Amazon ECR Credential Helper 0.10.0
- CodeQL Action Bundle 2.22.1
- Docker Amazon ECR Credential Helper 0.10.1
- Docker Compose v2 2.36.2
- Docker-Buildx 0.25.0
- Docker Client 28.0.4
- Docker Server 28.0.4
- Fastlane 2.228.0
- Git 2.49.0
- Git LFS 3.6.1
- Git 2.50.1
- Git LFS 3.7.0
- Git-ftp 1.6.0
- Haveged 1.9.14
- jq 1.7
- Kind 0.29.0
- Kubectl 1.33.2
- Kustomize 5.6.0
- Kustomize 5.7.0
- MediaInfo 24.01
- Mercurial 6.7.2
- Minikube 1.34.0
- Minikube 1.36.0
- n 10.2.0
- Newman 6.2.1
- nvm 0.40.3
@@ -93,22 +92,22 @@ to accomplish this.
- Packer 1.13.1
- Parcel 2.15.4
- Podman 4.9.3
- Pulumi 3.178.0
- Pulumi 3.181.0
- Skopeo 1.13.3
- Sphinx Open Source Search Server 2.2.11
- yamllint 1.37.1
- yq 4.45.4
- yq 4.46.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### CLI Tools
- AWS CLI 2.27.40
- AWS CLI 2.27.50
- 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.1
- GitHub CLI 2.74.2
- Google Cloud CLI 527.0.0
- AWS SAM CLI 1.142.1
- Azure CLI 2.75.0
- Azure CLI (azure-devops) 1.0.2
- GitHub CLI 2.75.0
- Google Cloud CLI 529.0.0
### Java
| Version | Environment Variable |
@@ -120,7 +119,7 @@ to accomplish this.
### PHP Tools
- PHP: 8.3.6
- Composer 2.8.9
- Composer 2.8.10
- PHPUnit 8.5.42
```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
@@ -130,25 +129,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.5.1
- Stack 3.7.1
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Rustfmt 1.8.0
### Browsers and Drivers
- 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
- Google Chrome 138.0.7204.100
- ChromeDriver 138.0.7204.94
- Chromium 138.0.7204.0
- Microsoft Edge 138.0.3351.83
- Microsoft Edge WebDriver 138.0.3351.83
- Selenium server 4.34.0
- Mozilla Firefox 140.0.4
- Geckodriver 0.36.0
#### Environment variables
@@ -175,7 +174,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
```
#### MySQL
- MySQL 8.0.42-0ubuntu0.24.04.1
- MySQL 8.0.42-0ubuntu0.24.04.2
```
User: root
Password: root
@@ -187,13 +186,13 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Python
- 3.9.23
@@ -214,8 +213,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
- PowerShell 7.4.10
#### PowerShell Modules
- Az: 12.1.0
- Microsoft.Graph: 2.28.0
- Az: 12.5.0
- Microsoft.Graph: 2.29.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
@@ -230,13 +229,13 @@ 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.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) |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default)<br>28.1.13356709 |
| NDK | 26.3.11579264<br>27.2.12479018 (default)<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -244,7 +243,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| ANDROID_HOME | /usr/local/lib/android/sdk |
| ANDROID_NDK | /usr/local/lib/android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/28.1.13356709 |
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk/27.2.12479018 |
| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk |
@@ -273,7 +272,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| ftp | 20230507-2build3 |
| g++ | 4:13.2.0-7ubuntu1 |
| gcc | 4:13.2.0-7ubuntu1 |
| gnupg2 | 2.4.4-2ubuntu17.2 |
| gnupg2 | 2.4.4-2ubuntu17.3 |
| haveged | 1.9.14-1ubuntu2 |
| iproute2 | 6.1.0-1ubuntu6 |
| iputils-ping | 3:20240117-1build1 |
@@ -306,7 +305,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| sqlite3 | 3.45.1-1ubuntu2.3 |
| ssh | 1:9.6p1-3ubuntu13.12 |
| sshpass | 1.09-1 |
| sudo | 1.9.15p5-3ubuntu5 |
| sudo | 1.9.15p5-3ubuntu5.24.04.1 |
| swig | 4.2.0-2ubuntu1 |
| systemd-coredump | 255.4-1ubuntu8.8 |
| tar | 1.35+dfsg-3build1 |
@@ -9,7 +9,7 @@
source $HELPER_SCRIPTS/install.sh
KOTLIN_ROOT="/usr/share"
download_url=$(resolve_github_release_asset_url "JetBrains/kotlin" "contains(\"kotlin-compiler\") and endswith(\".zip\")" "2.1.10")
download_url=$(resolve_github_release_asset_url "JetBrains/kotlin" "contains(\"kotlin-compiler\") and endswith(\".zip\")" "latest")
archive_path=$(download_with_retry "$download_url")
# Supply chain security - Kotlin
@@ -20,8 +20,21 @@ use_checksum_comparison "${kind_binary_path}" "${kind_external_hash}"
install "${kind_binary_path}" /usr/local/bin/kind
## Install kubectl
kubectl_minor_version=$(curl -fsSL "https://dl.k8s.io/release/stable.txt" | cut -d'.' -f1,2 )
curl -fsSL https://pkgs.k8s.io/core:/stable:/$kubectl_minor_version/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
# Ensure keyrings directory exists only if it doesn't already
[ -d /etc/apt/keyrings ] || sudo mkdir -p -m 755 /etc/apt/keyrings
kubectl_minor_version=$(curl -fsSL --retry 5 --retry-delay 10 "https://dl.k8s.io/release/stable.txt" | cut -d'.' -f1,2 )
# Download and validate GPG key
key_url="https://pkgs.k8s.io/core:/stable:/$kubectl_minor_version/deb/Release.key"
if curl -fsSL --retry 5 --retry-delay 10 -A "Mozilla/5.0" "$key_url" | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg; then
echo "Key downloaded and stored successfully."
else
echo "Failed to download valid GPG key from: $key_url"
exit 1
fi
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/'$kubectl_minor_version'/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install kubectl
@@ -30,16 +43,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
# 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}"
# Download and install minikube
minikube_version="latest"
minikube_binary_path=$(download_with_retry "https://storage.googleapis.com/minikube/releases/${minikube_version}/minikube-linux-amd64")
# Install minikube
install minikube-linux-amd64 /usr/local/bin/minikube
# 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 kustomize
download_url="https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
@@ -34,11 +34,11 @@ mkdir -p $EDGEDRIVER_DIR
edge_version=$(microsoft-edge --version | cut -d' ' -f 3)
edge_version_major=$(echo $edge_version | cut -d'.' -f 1)
edgedriver_version_url="https://msedgedriver.azureedge.net/LATEST_RELEASE_${edge_version_major}_LINUX"
edgedriver_version_url="https://msedgedriver.microsoft.com/LATEST_RELEASE_${edge_version_major}_LINUX"
# Convert a resulting file to normal UTF-8
edgedriver_latest_version=$(curl -fsSL "$edgedriver_version_url" | iconv -f utf-16 -t utf-8 | tr -d '\r')
edgedriver_url="https://msedgedriver.azureedge.net/${edgedriver_latest_version}/edgedriver_linux64.zip"
edgedriver_url="https://msedgedriver.microsoft.com/${edgedriver_latest_version}/edgedriver_linux64.zip"
edgedriver_archive_path=$(download_with_retry "$edgedriver_url")
unzip -qq "$edgedriver_archive_path" -d "$EDGEDRIVER_DIR"
@@ -0,0 +1,19 @@
#!/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
+10 -5
View File
@@ -387,20 +387,21 @@ Describe "Kotlin" {
}
It "kotlinc-js" {
"kotlinc-js -version" | Should -ReturnZeroExitCode
"kotlinc-js -help" | Should -ReturnZeroExitCode
}
}
Describe "Ninja" {
New-item -Path "/tmp/ninjaproject" -ItemType Directory -Force
Set-Location '/tmp/ninjaproject'
BeforeAll {
New-item -Path "/tmp/ninjaproject" -ItemType Directory -Force
@'
cmake_minimum_required(VERSION 3.10)
project(NinjaTest NONE)
'@ | Out-File -FilePath "./CMakeLists.txt"
'@ | Out-File -FilePath "/tmp/ninjaproject/CMakeLists.txt"
}
It "Make a simple ninja project" {
"cmake -GNinja /tmp/ninjaproject" | Should -ReturnZeroExitCode
"cmake -GNinja -S /tmp/ninjaproject -B /tmp/ninjaproject" | Should -ReturnZeroExitCode
}
It "build.ninja file should exist" {
@@ -411,4 +412,8 @@ project(NinjaTest NONE)
It "Ninja" {
"ninja --version" | Should -ReturnZeroExitCode
}
AfterAll {
Remove-Item -Path "/tmp/ninjaproject" -Recurse -Force
}
}
@@ -1,234 +1,6 @@
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.build_image"]
sources = ["source.azure-arm.image"]
name = "ubuntu-22_04"
provisioner "shell" {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
@@ -466,6 +238,12 @@ 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"]
@@ -1,234 +1,6 @@
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.build_image"]
sources = ["source.azure-arm.image"]
name = "ubuntu-24_04"
provisioner "shell" {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
@@ -445,6 +217,12 @@ 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,18 @@
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]
}
@@ -0,0 +1,48 @@
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
}
}
}
@@ -1,282 +0,0 @@
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"]
}
}
@@ -0,0 +1,171 @@
// 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"
}
+1 -1
View File
@@ -70,7 +70,7 @@
"java": {
"default": "11",
"versions": [ "8", "11", "17", "21"],
"maven": "3.9.10"
"maven": "3.9.11"
},
"android": {
"cmdline-tools": "commandlinetools-linux-9477386_latest.zip",
+1 -1
View File
@@ -67,7 +67,7 @@
"java": {
"default": "17",
"versions": [ "8", "11", "17", "21"],
"maven": "3.9.10"
"maven": "3.9.11"
},
"android": {
"cmdline-tools": "commandlinetools-linux-11076708_latest.zip",
+58 -62
View File
@@ -1,15 +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 Server 2025] image will no longer have D:/ drive accessible to users from 2025-07-14](https://github.com/actions/runner-images/issues/12416) |
| [[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 2019
- OS Version: 10.0.17763 Build 7434
- Image Version: 20250623.2.0
- OS Version: 10.0.17763 Build 7558
- Image Version: 20250709.2.0
## Windows features
- Windows Subsystem for Linux (WSLv1): Enabled
@@ -31,14 +27,14 @@
### Package Management
- Chocolatey 2.4.3
- Composer 2.8.9
- Helm 3.18.2
- Miniconda 25.3.1 (pre-installed on the image but not added to PATH)
- Helm 3.18.3
- Miniconda 25.5.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 2e58bb35ff)
- Vcpkg (build from commit f33cc491c8)
- Yarn 1.22.22
#### Environment variables
@@ -51,25 +47,25 @@
- Ant 1.10.15
- Gradle 8.14
- Maven 3.9.10
- sbt 1.11.2
- sbt 1.11.3
### Tools
- 7zip 24.09
- 7zip 25.00
- aria2 1.37.0
- azcopy 10.29.1
- Bazel 8.3.0
- Bazel 8.3.1
- Bazelisk 1.26.0
- Bicep 0.36.1
- Bicep 0.36.177
- Cabal 3.14.2.0
- CMake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Docker 27.5.1
- Docker Compose v2 2.32.2
- Docker-wincred 0.9.3
- ghc 9.12.2
- Git 2.50.0.windows.1
- Git LFS 3.6.1
- Google Cloud CLI 527.0.0
- Git 2.50.1.windows.1
- Git LFS 3.7.0
- Google Cloud CLI 529.0.0
- ImageMagick 7.1.1-47
- InnoSetup 6.4.0
- jq 1.7.1
@@ -84,10 +80,10 @@
- OpenSSL 1.1.1w
- Packer 1.12.0
- Parcel 2.15.4
- Pulumi 3.178.0
- Pulumi 3.181.0
- R 4.4.2
- Service Fabric SDK 10.1.2493.9590
- Stack 3.5.1
- Stack 3.7.1
- Subversion (SVN) 1.14.5
- Swig 4.1.1
- VSWhere 3.1.7
@@ -98,19 +94,19 @@
- Ninja 1.13.0
### CLI Tools
- Alibaba Cloud CLI 3.0.284
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- Alibaba Cloud CLI 3.0.288
- AWS CLI 2.27.49
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure DevOps CLI extension 1.0.1
- Azure CLI 2.75.0
- Azure DevOps CLI extension 1.0.2
- Cloud Foundry CLI 8.14.1
- GitHub CLI 2.74.2
- GitHub CLI 2.75.0
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
@@ -118,18 +114,18 @@
- cargo-audit 0.21.2
- cargo-outdated 0.17.0
- cbindgen 0.29.0
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0
### Browsers and Drivers
- 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
- Google Chrome 138.0.7204.101
- Chrome Driver 138.0.7204.94
- Microsoft Edge 138.0.3351.77
- Microsoft Edge Driver 138.0.3351.77
- Mozilla Firefox 140.0.4
- Gecko Driver 0.36.0
- IE Driver 4.14.0.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -177,7 +173,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### Node.js
- 18.20.8
- 20.19.3
- 22.16.0
- 22.17.0
#### Python
- 3.9.13
@@ -187,7 +183,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 3.13.5
#### PyPy
- 2.7.18 [PyPy 7.3.19]
- 2.7.18 [PyPy 7.3.20]
- 3.6.12 [PyPy 7.3.3]
- 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11]
@@ -229,17 +225,17 @@ 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.27.5 | C:\tools\nginx-1.27.5\conf\nginx.conf | nginx | Stopped | 80 |
| Nginx | 1.29.0 | C:\tools\nginx-1.29.0\conf\nginx.conf | nginx | Stopped | 80 |
### Visual Studio Enterprise 2019
| Name | Version | Path |
| ----------------------------- | -------------- | -------------------------------------------------------------- |
| Visual Studio Enterprise 2019 | 16.11.36128.20 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise |
| Name | Version | Path |
| ----------------------------- | ------------- | -------------------------------------------------------------- |
| Visual Studio Enterprise 2019 | 16.11.36227.6 | C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise |
#### Workloads, components and extensions
| Package | Version |
| ------------------------------------------------------------------------- | --------------- |
| Component.Android.NDK.R16B | 16.11.36123.19 |
| Component.Android.NDK.R16B | 16.11.36217.26 |
| Component.Android.SDK25.Private | 16.0.28625.61 |
| Component.Android.SDK30 | 16.10.31205.252 |
| Component.Ant | 1.9.3.8 |
@@ -478,10 +474,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft Visual C++ 2013 Minimum Runtime | x86 | 12.0.21005 |
| Microsoft Visual C++ 2019 Debug Runtime | x64 | 14.29.30157 |
| Microsoft Visual C++ 2019 Debug Runtime | x86 | 14.29.30157 |
| Microsoft Visual C++ 2022 Additional Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Minimum Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Additional Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Minimum Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Additional Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Minimum Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Additional Runtime | x86 | 14.44.35211 |
| Microsoft Visual C++ 2022 Minimum Runtime | x86 | 14.44.35211 |
#### Installed Windows SDKs
- 10.0.14393.0
@@ -495,22 +491,22 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 10.0.22621.0
### .NET Core Tools
- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 8.0.117, 8.0.206, 8.0.314, 8.0.411, 9.0.107, 9.0.205, 9.0.301
- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 8.0.118, 8.0.206, 8.0.315, 8.0.412, 9.0.108, 9.0.205, 9.0.302
- .NET Framework: 4.7.2, 4.8
- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.17, 9.0.6
- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.17, 9.0.6
- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.17, 9.0.6
- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.18, 9.0.6, 9.0.7
- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.18, 9.0.6, 9.0.7
- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.18, 9.0.6, 9.0.7
- nbgv 3.7.115+d31f50f4d1
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### Powershell Modules
- Az: 12.1.0
- AWSPowershell: 5.0.0
- Az: 12.5.0
- AWSPowershell: 5.0.9
- DockerMsftProvider: 1.0.0.8
- MarkdownPS: 1.10
- Microsoft.Graph: 2.28.0
- Microsoft.Graph: 2.29.0
- Pester: 3.4.0, 5.7.1
- PowerShellGet: 1.0.0.1, 2.2.5
- PSScriptAnalyzer: 1.24.0
@@ -522,7 +518,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 8.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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<br>30.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)<br>android-30 (rev 3) |
| Android SDK Platform-Tools | 36.0.0 |
@@ -531,7 +527,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Google APIs | addon-google_apis-google-21<br>addon-google_apis-google-22<br>addon-google_apis-google-23<br>addon-google_apis-google-24 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018<br>28.1.13356709 |
| NDK | 26.3.11579264<br>27.2.12479018<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -539,16 +535,16 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| ANDROID_HOME | C:\Android\android-sdk |
| ANDROID_NDK | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_NDK_HOME | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | C:\Android\android-sdk\ndk\28.1.13356709 |
| ANDROID_NDK_LATEST_HOME | C:\Android\android-sdk\ndk\28.2.13676358 |
| ANDROID_NDK_ROOT | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_SDK_ROOT | C:\Android\android-sdk |
### Cached Docker images
| Repository:Tag | Digest | Created |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------- |
| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 | sha256:b679037695b2d508ed7e20afe1f02e69e5ecaa6232e9809f6e512ea8ddfe08e5 | 2025-06-10 |
| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 | sha256:2061198adfaafa26f28f9b758910651597ab312504928f63ef842e12da4f8e1d | 2025-06-10 |
| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 | sha256:64aaee0de7cc78a6c833c1ae60e6c1814a9348ab378a206a35c99e482e9beb2b | 2025-06-10 |
| mcr.microsoft.com/windows/nanoserver:1809 | sha256:7c720f345ff7784cee12a5464bb5d5222c6348bd6da2cd29d666e49867958b0e | 2025-06-04 |
| mcr.microsoft.com/windows/servercore:ltsc2019 | sha256:862b24ccf5e399fc3bea746c7ac68c16f3fbcfa199532a3e506b7e03e57217b9 | 2025-06-04 |
| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019 | sha256:99a68b9a6c0a6be2578b83b2b0ee55e40436c3ff2e68445eaa335fadc5a780c7 | 2025-07-08 |
| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 | sha256:02eba2c4863b6d86e01bb4cfc0e54c1d711af3c9ddae946ea191fa082ba9729e | 2025-07-08 |
| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 | sha256:f2d95688a349c6d6fc1509ac8d41259e7cfcda6a7f10c14f9294cece8b1cc0dc | 2025-07-08 |
| mcr.microsoft.com/windows/nanoserver:1809 | sha256:c357ed591af7b24f2d4a12b1947da5e6ebe559d89f41471f6928902c7cda7206 | 2025-07-05 |
| mcr.microsoft.com/windows/servercore:ltsc2019 | sha256:2a7cfebaed9241227ad68b1fc7cb764867ea1c56624ece03f926eb8bdf0c998f | 2025-07-05 |
+96 -100
View File
@@ -1,15 +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 Server 2025] image will no longer have D:/ drive accessible to users from 2025-07-14](https://github.com/actions/runner-images/issues/12416) |
| [[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: 20250623.1.0
- OS Version: 10.0.20348 Build 3932
- Image Version: 20250713.1.0
## Windows features
- Windows Subsystem for Linux (WSLv1): Enabled
@@ -18,10 +14,10 @@
### Language and Runtime
- Bash 5.2.37(1)-release
- Go 1.24.4
- Julia 1.11.5
- Go 1.24.5
- Julia 1.11.6
- Kotlin 2.1.10
- LLVM 18.1.8
- LLVM 20.1.7
- Node 20.19.3
- Perl 5.32.1
- PHP 8.4.8
@@ -29,16 +25,16 @@
- Ruby 3.3.8
### Package Management
- Chocolatey 2.4.3
- Composer 2.8.9
- Helm 3.18.2
- Miniconda 25.3.1 (pre-installed on the image but not added to PATH)
- Chocolatey 2.5.0
- Composer 2.8.10
- Helm 3.18.3
- Miniconda 25.5.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 0cf34c184c)
- Vcpkg (build from commit 09b8d93e61)
- Yarn 1.22.22
#### Environment variables
@@ -51,24 +47,24 @@
- Ant 1.10.15
- Gradle 8.14
- Maven 3.9.10
- sbt 1.11.2
- sbt 1.11.3
### Tools
- 7zip 24.09
- 7zip 25.00
- aria2 1.37.0
- azcopy 10.29.1
- Bazel 8.2.1
- Bazel 8.3.1
- Bazelisk 1.26.0
- Bicep 0.36.1
- Bicep 0.36.177
- Cabal 3.14.2.0
- CMake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Docker 27.5.1
- Docker Compose v2 2.32.2
- Docker-wincred 0.9.3
- ghc 9.12.2
- Git 2.50.0.windows.1
- Git LFS 3.6.1
- Git 2.50.1.windows.1
- Git LFS 3.7.0
- ImageMagick 7.1.1-47
- InnoSetup 6.4.0
- jq 1.7.1
@@ -82,10 +78,10 @@
- NSIS 3.10
- OpenSSL 1.1.1w
- Packer 1.12.0
- Pulumi 3.178.0
- Pulumi 3.181.0
- R 4.4.2
- Service Fabric SDK 10.1.2493.9590
- Stack 3.5.1
- Stack 3.7.1
- Subversion (SVN) 1.14.5
- Swig 4.1.1
- VSWhere 3.1.7
@@ -93,21 +89,21 @@
- WiX Toolset 3.14.1.8722
- yamllint 1.37.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### CLI Tools
- Alibaba Cloud CLI 3.0.284
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- Alibaba Cloud CLI 3.0.289
- AWS CLI 2.27.50
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure DevOps CLI extension 1.0.1
- GitHub CLI 2.74.2
- Azure CLI 2.75.0
- Azure DevOps CLI extension 1.0.2
- GitHub CLI 2.75.0
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
@@ -115,18 +111,18 @@
- cargo-audit 0.21.2
- cargo-outdated 0.17.0
- cbindgen 0.29.0
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0
### Browsers and Drivers
- 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
- Google Chrome 138.0.7204.101
- Chrome Driver 138.0.7204.94
- Microsoft Edge 138.0.3351.83
- Microsoft Edge Driver 138.0.3351.83
- Mozilla Firefox 140.0.4
- Gecko Driver 0.36.0
- IE Driver 4.14.0.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -165,13 +161,13 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Python
- 3.9.13
@@ -181,7 +177,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 3.13.5
#### PyPy
- 2.7.18 [PyPy 7.3.19]
- 2.7.18 [PyPy 7.3.20]
- 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16]
@@ -222,17 +218,17 @@ 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.27.5 | C:\tools\nginx-1.27.5\conf\nginx.conf | nginx | Stopped | 80 |
| Nginx | 1.29.0 | C:\tools\nginx-1.29.0\conf\nginx.conf | nginx | Stopped | 80 |
### Visual Studio Enterprise 2022
| Name | Version | Path |
| ----------------------------- | -------------- | -------------------------------------------------------- |
| Visual Studio Enterprise 2022 | 17.14.36203.30 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
| Name | Version | Path |
| ----------------------------- | ------------- | -------------------------------------------------------- |
| Visual Studio Enterprise 2022 | 17.14.36301.6 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
#### Workloads, components and extensions
| Package | Version |
| ------------------------------------------------------------------------- | --------------- |
| android | 35.0.61.0 |
| android | 35.0.78.0 |
| Component.Android.NDK.R23C | 17.14.36015.10 |
| Component.Android.SDK.MAUI | 17.14.36015.10 |
| Component.Dotfuscator | 17.14.36015.10 |
@@ -254,13 +250,13 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Component.Unreal.Android | 17.14.36015.10 |
| Component.Unreal.Debugger | 17.14.36015.10 |
| Component.Unreal.Ide | 17.14.36015.10 |
| Component.VisualStudio.GitHub.Copilot | 17.14.36203.27 |
| Component.VisualStudio.GitHub.Copilot | 17.14.36301.6 |
| Component.VSInstallerProjects2022 | 2.0.1 |
| Component.WixToolset.VisualStudioExtension.Dev17 | 1.0.0.22 |
| Component.WixToolset.VisualStudioExtension.Schemas3 | 1.0.0.22 |
| Component.Xamarin | 17.14.36015.10 |
| ios | 18.4.9288.0 |
| maccatalyst | 18.4.9288.0 |
| ios | 18.5.9207.0 |
| maccatalyst | 18.5.9207.0 |
| maui.blazor | 9.0.51.12966 |
| maui.core | 9.0.51.12966 |
| maui.windows | 9.0.51.12966 |
@@ -288,21 +284,21 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.Net.ComponentGroup.4.8.DeveloperTools | 17.14.36015.10 |
| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 17.14.36015.10 |
| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 17.14.36015.10 |
| microsoft.net.runtime.android | 9.0.625.26613 |
| microsoft.net.runtime.android.aot | 9.0.625.26613 |
| microsoft.net.runtime.android.aot.net8 | 9.0.625.26613 |
| microsoft.net.runtime.android.net8 | 9.0.625.26613 |
| microsoft.net.runtime.ios | 9.0.625.26613 |
| microsoft.net.runtime.ios.net8 | 9.0.625.26613 |
| microsoft.net.runtime.maccatalyst | 9.0.625.26613 |
| microsoft.net.runtime.maccatalyst.net8 | 9.0.625.26613 |
| microsoft.net.runtime.mono.tooling | 9.0.625.26613 |
| microsoft.net.runtime.mono.tooling.net8 | 9.0.625.26613 |
| microsoft.net.sdk.emscripten | 9.0.12.25802 |
| microsoft.net.runtime.android | 9.0.725.31616 |
| microsoft.net.runtime.android.aot | 9.0.725.31616 |
| microsoft.net.runtime.android.aot.net8 | 9.0.725.31616 |
| microsoft.net.runtime.android.net8 | 9.0.725.31616 |
| microsoft.net.runtime.ios | 9.0.725.31616 |
| microsoft.net.runtime.ios.net8 | 9.0.725.31616 |
| microsoft.net.runtime.maccatalyst | 9.0.725.31616 |
| microsoft.net.runtime.maccatalyst.net8 | 9.0.725.31616 |
| microsoft.net.runtime.mono.tooling | 9.0.725.31616 |
| microsoft.net.runtime.mono.tooling.net8 | 9.0.725.31616 |
| microsoft.net.sdk.emscripten | 9.0.12.30402 |
| Microsoft.NetCore.Component.DevelopmentTools | 17.14.36015.10 |
| Microsoft.NetCore.Component.Runtime.8.0 | 17.14.36203.27 |
| Microsoft.NetCore.Component.Runtime.9.0 | 17.14.36203.27 |
| Microsoft.NetCore.Component.SDK | 17.14.36203.27 |
| Microsoft.NetCore.Component.Runtime.8.0 | 17.14.36301.6 |
| Microsoft.NetCore.Component.Runtime.9.0 | 17.14.36301.6 |
| Microsoft.NetCore.Component.SDK | 17.14.36301.6 |
| Microsoft.NetCore.Component.Web | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.AppInsights.Tools | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.AspNet | 17.14.36015.10 |
@@ -335,7 +331,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Component.Graphics.Tools | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.HLSL | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.IISExpress | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.IntelliCode | 17.14.36108.8 |
| Microsoft.VisualStudio.Component.IntelliCode | 17.14.36220.6 |
| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 17.14.36015.10 |
@@ -408,7 +404,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Component.Windows10SDK.20348 | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.Windows11SDK.22000 | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.Windows11SDK.22621 | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.Windows11SDK.26100 | 17.14.36101.25 |
| Microsoft.VisualStudio.Component.Windows11SDK.26100 | 17.14.36301.6 |
| Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.WindowsAppSdkSupport.CSharp | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.Workflow | 17.14.36015.10 |
@@ -444,7 +440,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Workload.Data | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.DataScience | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.ManagedDesktop | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.ManagedGame | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.ManagedGame | 17.14.36301.6 |
| Microsoft.VisualStudio.Workload.NativeCrossPlat | 17.14.36108.8 |
| Microsoft.VisualStudio.Workload.NativeDesktop | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.NativeGame | 17.14.36015.10 |
@@ -456,18 +452,18 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Workload.Python | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.Universal | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.VisualStudioExtension | 17.14.36015.10 |
| runtimes.ios | 9.0.625.26613 |
| runtimes.ios.net8 | 9.0.625.26613 |
| runtimes.maccatalyst | 9.0.625.26613 |
| runtimes.maccatalyst.net8 | 9.0.625.26613 |
| wasm.tools | 9.0.625.26613 |
| runtimes.ios | 9.0.725.31616 |
| runtimes.ios.net8 | 9.0.725.31616 |
| runtimes.maccatalyst | 9.0.725.31616 |
| runtimes.maccatalyst.net8 | 9.0.725.31616 |
| wasm.tools | 9.0.725.31616 |
| ProBITools.MicrosoftAnalysisServicesModelingProjects2022 | 3.0.4 |
| ProBITools.MicrosoftReportProjectsforVisualStudio2022 | 3.0.1 |
| SSIS.MicrosoftDataToolsIntegrationServices | 1.6.2 |
| VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects | 2.0.1 |
| Windows Driver Kit | 10.1.26100.2161 |
| Windows Driver Kit | 10.1.26100.4202 |
| Windows Driver Kit Visual Studio Extension | 10.0.26100.12 |
| Windows Software Development Kit | 10.1.26100.3916 |
| Windows Software Development Kit | 10.1.26100.4188 |
| WixToolset.WixToolsetVisualStudio2022Extension | 1.0.0.22 |
#### Microsoft Visual C++
@@ -475,12 +471,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| -------------------------------------------- | ------------ | ----------- |
| Microsoft Visual C++ 2013 Additional Runtime | x64 | 12.0.40660 |
| Microsoft Visual C++ 2013 Minimum Runtime | x64 | 12.0.40660 |
| Microsoft Visual C++ 2022 Additional Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Debug Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Minimum Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Additional Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Debug Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Minimum Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Additional Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Debug Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Minimum Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Additional Runtime | x86 | 14.44.35211 |
| Microsoft Visual C++ 2022 Debug Runtime | x86 | 14.44.35211 |
| Microsoft Visual C++ 2022 Minimum Runtime | x86 | 14.44.35211 |
#### Installed Windows SDKs
- 10.0.17763.0
@@ -491,22 +487,22 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- 10.0.26100.0
### .NET Core Tools
- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 8.0.117, 8.0.206, 8.0.314, 8.0.411, 9.0.107, 9.0.205, 9.0.301
- .NET Core SDK: 6.0.136, 6.0.203, 6.0.321, 6.0.428, 8.0.118, 8.0.206, 8.0.315, 8.0.412, 9.0.108, 9.0.205, 9.0.302
- .NET Framework: 4.7.2, 4.8, 4.8.1
- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 6.0.38, 8.0.6, 8.0.17, 9.0.6
- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.36, 6.0.38, 8.0.6, 8.0.17, 9.0.6
- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.17, 9.0.6
- Microsoft.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 6.0.39, 8.0.6, 8.0.18, 9.0.6, 9.0.7
- Microsoft.NETCore.App: 6.0.5, 6.0.26, 6.0.36, 6.0.39, 8.0.6, 8.0.18, 9.0.6, 9.0.7
- Microsoft.WindowsDesktop.App: 6.0.5, 6.0.26, 6.0.36, 8.0.6, 8.0.18, 9.0.6, 9.0.7
- nbgv 3.7.115+d31f50f4d1
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### Powershell Modules
- Az: 12.4.0
- AWSPowershell: 4.1.845
- Az: 12.5.0
- AWSPowershell: 5.0.9
- DockerMsftProvider: 1.0.0.8
- MarkdownPS: 1.10
- Microsoft.Graph: 2.28.0
- Microsoft.Graph: 2.29.0
- Pester: 3.4.0, 5.7.1
- PowerShellGet: 1.0.0.1, 2.2.5
- PSScriptAnalyzer: 1.24.0
@@ -518,15 +514,15 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 8.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.18.1<br>3.22.1<br>3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018<br>28.1.13356709 |
| NDK | 26.3.11579264<br>27.2.12479018<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -534,16 +530,16 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| ANDROID_HOME | C:\Android\android-sdk |
| ANDROID_NDK | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_NDK_HOME | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | C:\Android\android-sdk\ndk\28.1.13356709 |
| ANDROID_NDK_LATEST_HOME | C:\Android\android-sdk\ndk\28.2.13676358 |
| ANDROID_NDK_ROOT | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_SDK_ROOT | C:\Android\android-sdk |
### Cached Docker images
| Repository:Tag | Digest | Created |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------- |
| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2022 | sha256:2b29c75ebbb39dbd41d984f0a0aecae40b0a928b2d2e3d30aa7f48cda263ecb9 | 2025-06-10 |
| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2022 | sha256:a37e490aa4a389d4da3e2f1dd47b2bbd04c387d996f7d8fa972673809cccd2bc | 2025-06-10 |
| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022 | sha256:61113bfac602c8517c16283aa99be4b0886590aba97159c3a5f63620481afb4c | 2025-06-10 |
| mcr.microsoft.com/windows/nanoserver:ltsc2022 | sha256:23fa4e796f4d02d462beadb844f8985ca4583b1b0f75295137f5968dab255b09 | 2025-06-05 |
| mcr.microsoft.com/windows/servercore:ltsc2022 | sha256:c489e1737a833a111f0f35b28257b1071d30b6db6b9ee50e88b7c08b901efc67 | 2025-06-05 |
| mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2022 | sha256:a079da56a0014847d85010ddf264215332dcde03f8a27870d1fabf55aa86fb13 | 2025-07-08 |
| mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2022 | sha256:ce9beb1bd919247d9bc69e9f0345795381ec15000c1faa989a7839cd5f65a0e9 | 2025-07-08 |
| mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2022 | sha256:425ca73da19ca274edd1b466e1009342b476306de6918eb246758b9482f47927 | 2025-07-08 |
| mcr.microsoft.com/windows/nanoserver:ltsc2022 | sha256:9a57174ce85e979529e4f0cd58dff2e837b65fc7832b7585b4882f6cce0e255d | 2025-07-05 |
| mcr.microsoft.com/windows/servercore:ltsc2022 | sha256:3281482945016cdaefbe417edd8338de8119e077b6941f74e78b050da1b7bd97 | 2025-07-05 |
+92 -96
View File
@@ -1,15 +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 Server 2025] image will no longer have D:/ drive accessible to users from 2025-07-14](https://github.com/actions/runner-images/issues/12416) |
| [[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: 20250623.1.0
- OS Version: 10.0.26100 Build 4652
- Image Version: 20250713.1.0
## Windows features
- Windows Subsystem for Linux (WSLv1): Enabled
@@ -19,27 +15,27 @@
### Language and Runtime
- Bash 5.2.37(1)-release
- Go 1.24.4
- Julia 1.11.5
- Go 1.24.5
- Julia 1.11.6
- Kotlin 2.1.10
- LLVM 20.1.4
- Node 22.16.0
- Perl 5.40.0
- LLVM 20.1.7
- Node 22.17.0
- Perl 5.40.2
- PHP 8.4.8
- Python 3.9.13
- Ruby 3.3.8
### Package Management
- Chocolatey 2.4.3
- Composer 2.8.9
- Helm 3.18.2
- Miniconda 25.3.1 (pre-installed on the image but not added to PATH)
- Chocolatey 2.5.0
- Composer 2.8.10
- Helm 3.18.3
- Miniconda 25.5.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 0cf34c184c)
- Vcpkg (build from commit 09b8d93e61)
- Yarn 1.22.22
#### Environment variables
@@ -52,24 +48,24 @@
- Ant 1.10.15
- Gradle 8.14
- Maven 3.9.10
- sbt 1.11.2
- sbt 1.11.3
### Tools
- 7zip 24.09
- 7zip 25.00
- aria2 1.37.0
- azcopy 10.29.1
- Bazel 8.2.1
- Bazel 8.3.1
- Bazelisk 1.26.0
- Bicep 0.36.1
- Bicep 0.36.177
- Cabal 3.14.2.0
- CMake 3.31.6
- CodeQL Action Bundle 2.22.0
- CodeQL Action Bundle 2.22.1
- Docker 27.5.1
- Docker Compose v2 2.32.2
- Docker-wincred 0.9.3
- ghc 9.12.2
- Git 2.50.0.windows.1
- Git LFS 3.6.1
- Git 2.50.1.windows.1
- Git LFS 3.7.0
- ImageMagick 7.1.1-47
- jq 1.7.1
- Kind 0.29.0
@@ -78,47 +74,47 @@
- gdb 16.2
- GNU Binutils 2.44
- Newman 6.2.1
- OpenSSL 3.4.1
- OpenSSL 3.5.1
- Packer 1.12.0
- Pulumi 3.178.0
- Pulumi 3.181.0
- R 4.4.2
- Service Fabric SDK 10.1.2493.9590
- Stack 3.5.1
- Stack 3.7.1
- Swig 4.1.1
- VSWhere 3.1.7
- WinAppDriver 1.2.2009.02003
- WiX Toolset 3.14.1.8722
- yamllint 1.37.1
- zstd 1.5.7
- Ninja 1.13.0
- Ninja 1.13.1
### CLI Tools
- AWS CLI 2.27.40
- AWS SAM CLI 1.141.0
- AWS CLI 2.27.50
- AWS SAM CLI 1.142.1
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.74.0
- Azure DevOps CLI extension 1.0.1
- GitHub CLI 2.74.2
- Azure CLI 2.75.0
- Azure DevOps CLI extension 1.0.2
- GitHub CLI 2.75.0
### Rust Tools
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Cargo 1.88.0
- Rust 1.88.0
- Rustdoc 1.88.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.87
- Clippy 0.1.88
- Rustfmt 1.8.0
### Browsers and Drivers
- 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
- Google Chrome 138.0.7204.101
- Chrome Driver 138.0.7204.94
- Microsoft Edge 138.0.3351.83
- Microsoft Edge Driver 138.0.3351.83
- Mozilla Firefox 140.0.4
- Gecko Driver 0.36.0
- IE Driver 4.14.0.0
- Selenium server 4.33.0
- Selenium server 4.34.0
#### Environment variables
| Name | Value |
@@ -157,13 +153,13 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
#### Go
- 1.22.12
- 1.23.10
- 1.24.4
- 1.23.11
- 1.24.5
#### Node.js
- 18.20.8
- 20.19.2
- 22.16.0
- 20.19.3
- 22.17.0
#### Python
- 3.9.13
@@ -206,23 +202,23 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
- MySQL 8.0.42.0
- SQL OLEDB Driver 18.7.4.0
- SQLPS 1.0
- MongoDB Shell (mongosh) 2.5.3
- MongoDB Shell (mongosh) 2.5.5
### Web Servers
| Name | Version | ConfigFile | ServiceName | ServiceStatus | ListenPort |
| ------ | ------- | ------------------------------------- | ----------- | ------------- | ---------- |
| Apache | 2.4.55 | C:\tools\Apache24\conf\httpd.conf | Apache | Stopped | 80 |
| Nginx | 1.27.5 | C:\tools\nginx-1.27.5\conf\nginx.conf | nginx | Stopped | 80 |
| Nginx | 1.29.0 | C:\tools\nginx-1.29.0\conf\nginx.conf | nginx | Stopped | 80 |
### Visual Studio Enterprise 2022
| Name | Version | Path |
| ----------------------------- | -------------- | -------------------------------------------------------- |
| Visual Studio Enterprise 2022 | 17.14.36203.30 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
| Name | Version | Path |
| ----------------------------- | ------------- | -------------------------------------------------------- |
| Visual Studio Enterprise 2022 | 17.14.36301.6 | C:\Program Files\Microsoft Visual Studio\2022\Enterprise |
#### Workloads, components and extensions
| Package | Version |
| ------------------------------------------------------------------------- | --------------- |
| android | 35.0.61.0 |
| android | 35.0.78.0 |
| Component.Android.NDK.R23C | 17.14.36015.10 |
| Component.Android.SDK.MAUI | 17.14.36015.10 |
| Component.Dotfuscator | 17.14.36015.10 |
@@ -242,12 +238,12 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Component.UnityEngine.x64 | 17.14.36015.10 |
| Component.Unreal.Debugger | 17.14.36015.10 |
| Component.Unreal.Ide | 17.14.36015.10 |
| Component.VisualStudio.GitHub.Copilot | 17.14.36203.27 |
| Component.VisualStudio.GitHub.Copilot | 17.14.36301.6 |
| Component.VSInstallerProjects2022 | 2.0.1 |
| Component.WixToolset.VisualStudioExtension.Dev17 | 1.0.0.22 |
| Component.WixToolset.VisualStudioExtension.Schemas3 | 1.0.0.22 |
| ios | 18.4.9288.0 |
| maccatalyst | 18.4.9288.0 |
| ios | 18.5.9207.0 |
| maccatalyst | 18.5.9207.0 |
| maui.blazor | 9.0.51.12966 |
| maui.core | 9.0.51.12966 |
| maui.windows | 9.0.51.12966 |
@@ -274,21 +270,21 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.Net.ComponentGroup.4.8.DeveloperTools | 17.14.36015.10 |
| Microsoft.Net.ComponentGroup.DevelopmentPrerequisites | 17.14.36015.10 |
| Microsoft.Net.ComponentGroup.TargetingPacks.Common | 17.14.36015.10 |
| microsoft.net.runtime.android | 9.0.625.26613 |
| microsoft.net.runtime.android.aot | 9.0.625.26613 |
| microsoft.net.runtime.android.aot.net8 | 9.0.625.26613 |
| microsoft.net.runtime.android.net8 | 9.0.625.26613 |
| microsoft.net.runtime.ios | 9.0.625.26613 |
| microsoft.net.runtime.ios.net8 | 9.0.625.26613 |
| microsoft.net.runtime.maccatalyst | 9.0.625.26613 |
| microsoft.net.runtime.maccatalyst.net8 | 9.0.625.26613 |
| microsoft.net.runtime.mono.tooling | 9.0.625.26613 |
| microsoft.net.runtime.mono.tooling.net8 | 9.0.625.26613 |
| microsoft.net.sdk.emscripten | 9.0.12.25802 |
| microsoft.net.runtime.android | 9.0.725.31616 |
| microsoft.net.runtime.android.aot | 9.0.725.31616 |
| microsoft.net.runtime.android.aot.net8 | 9.0.725.31616 |
| microsoft.net.runtime.android.net8 | 9.0.725.31616 |
| microsoft.net.runtime.ios | 9.0.725.31616 |
| microsoft.net.runtime.ios.net8 | 9.0.725.31616 |
| microsoft.net.runtime.maccatalyst | 9.0.725.31616 |
| microsoft.net.runtime.maccatalyst.net8 | 9.0.725.31616 |
| microsoft.net.runtime.mono.tooling | 9.0.725.31616 |
| microsoft.net.runtime.mono.tooling.net8 | 9.0.725.31616 |
| microsoft.net.sdk.emscripten | 9.0.12.30402 |
| Microsoft.NetCore.Component.DevelopmentTools | 17.14.36015.10 |
| Microsoft.NetCore.Component.Runtime.8.0 | 17.14.36203.27 |
| Microsoft.NetCore.Component.Runtime.9.0 | 17.14.36203.27 |
| Microsoft.NetCore.Component.SDK | 17.14.36203.27 |
| Microsoft.NetCore.Component.Runtime.8.0 | 17.14.36301.6 |
| Microsoft.NetCore.Component.Runtime.9.0 | 17.14.36301.6 |
| Microsoft.NetCore.Component.SDK | 17.14.36301.6 |
| Microsoft.NetCore.Component.Web | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.AppInsights.Tools | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.AspNet | 17.14.36015.10 |
@@ -321,7 +317,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Component.Graphics.Tools | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.HLSL | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.IISExpress | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.IntelliCode | 17.14.36108.8 |
| Microsoft.VisualStudio.Component.IntelliCode | 17.14.36220.6 |
| Microsoft.VisualStudio.Component.IntelliTrace.FrontEnd | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.JavaScript.Diagnostics | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.JavaScript.TypeScript | 17.14.36015.10 |
@@ -390,7 +386,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Component.Web | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.WebDeploy | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.Windows10SDK | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.Windows11SDK.26100 | 17.14.36101.25 |
| Microsoft.VisualStudio.Component.Windows11SDK.26100 | 17.14.36301.6 |
| Microsoft.VisualStudio.Component.Windows11Sdk.WindowsPerformanceToolkit | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.WindowsAppSdkSupport.CSharp | 17.14.36015.10 |
| Microsoft.VisualStudio.Component.Workflow | 17.14.36015.10 |
@@ -426,7 +422,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Workload.Data | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.DataScience | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.ManagedDesktop | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.ManagedGame | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.ManagedGame | 17.14.36301.6 |
| Microsoft.VisualStudio.Workload.NativeCrossPlat | 17.14.36108.8 |
| Microsoft.VisualStudio.Workload.NativeDesktop | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.NativeGame | 17.14.36015.10 |
@@ -438,17 +434,17 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Microsoft.VisualStudio.Workload.Python | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.Universal | 17.14.36015.10 |
| Microsoft.VisualStudio.Workload.VisualStudioExtension | 17.14.36015.10 |
| runtimes.ios | 9.0.625.26613 |
| runtimes.ios.net8 | 9.0.625.26613 |
| runtimes.maccatalyst | 9.0.625.26613 |
| runtimes.maccatalyst.net8 | 9.0.625.26613 |
| wasm.tools | 9.0.625.26613 |
| runtimes.ios | 9.0.725.31616 |
| runtimes.ios.net8 | 9.0.725.31616 |
| runtimes.maccatalyst | 9.0.725.31616 |
| runtimes.maccatalyst.net8 | 9.0.725.31616 |
| wasm.tools | 9.0.725.31616 |
| ProBITools.MicrosoftAnalysisServicesModelingProjects2022 | 3.0.4 |
| ProBITools.MicrosoftReportProjectsforVisualStudio2022 | 3.0.1 |
| SSIS.MicrosoftDataToolsIntegrationServices | 1.6.2 |
| VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects | 2.0.1 |
| Windows Driver Kit Visual Studio Extension | 10.0.26100.12 |
| Windows Software Development Kit | 10.1.26100.3916 |
| Windows Software Development Kit | 10.1.26100.4188 |
| WixToolset.WixToolsetVisualStudio2022Extension | 1.0.0.22 |
#### Microsoft Visual C++
@@ -456,33 +452,33 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| -------------------------------------------- | ------------ | ----------- |
| Microsoft Visual C++ 2013 Additional Runtime | x64 | 12.0.40660 |
| Microsoft Visual C++ 2013 Minimum Runtime | x64 | 12.0.40660 |
| Microsoft Visual C++ 2022 Additional Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Debug Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Minimum Runtime | x64 | 14.44.35208 |
| Microsoft Visual C++ 2022 Additional Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Debug Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Minimum Runtime | x86 | 14.44.35208 |
| Microsoft Visual C++ 2022 Additional Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Debug Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Minimum Runtime | x64 | 14.44.35211 |
| Microsoft Visual C++ 2022 Additional Runtime | x86 | 14.44.35211 |
| Microsoft Visual C++ 2022 Debug Runtime | x86 | 14.44.35211 |
| Microsoft Visual C++ 2022 Minimum Runtime | x86 | 14.44.35211 |
#### Installed Windows SDKs
- 10.0.26100.0
### .NET Core Tools
- .NET Core SDK: 8.0.117, 8.0.206, 8.0.314, 8.0.411, 9.0.107, 9.0.205, 9.0.301
- .NET Core SDK: 8.0.118, 8.0.206, 8.0.315, 8.0.412, 9.0.108, 9.0.205, 9.0.302
- .NET Framework: 4.8, 4.8.1
- Microsoft.AspNetCore.App: 8.0.6, 8.0.17, 9.0.6
- Microsoft.NETCore.App: 8.0.6, 8.0.17, 9.0.6
- Microsoft.WindowsDesktop.App: 8.0.6, 8.0.17, 9.0.6
- Microsoft.AspNetCore.App: 8.0.6, 8.0.18, 9.0.6, 9.0.7
- Microsoft.NETCore.App: 8.0.6, 8.0.18, 9.0.6, 9.0.7
- Microsoft.WindowsDesktop.App: 8.0.6, 8.0.18, 9.0.6, 9.0.7
- nbgv 3.7.115+d31f50f4d1
### PowerShell Tools
- PowerShell 7.4.10
- PowerShell 7.4.11
#### Powershell Modules
- Az: 12.4.0
- AWSPowershell: 4.1.845
- Az: 12.5.0
- AWSPowershell: 5.0.9
- DockerMsftProvider: 1.0.0.8
- MarkdownPS: 1.10
- Microsoft.Graph: 2.28.0
- Microsoft.Graph: 2.29.0
- Pester: 3.4.0, 5.7.1
- PowerShellGet: 1.0.0.1, 2.2.5
- PSScriptAnalyzer: 1.24.0
@@ -494,15 +490,15 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 35.5.10 |
| Android Emulator | 35.6.11 |
| 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 | 35.0.2 |
| Android SDK Platform-Tools | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.22.1<br>3.30.5<br>3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018<br>28.1.13356709 |
| NDK | 26.3.11579264<br>27.2.12479018<br>28.2.13676358 |
#### Environment variables
| Name | Value |
@@ -510,7 +506,7 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
| ANDROID_HOME | C:\Android\android-sdk |
| ANDROID_NDK | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_NDK_HOME | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | C:\Android\android-sdk\ndk\28.1.13356709 |
| ANDROID_NDK_LATEST_HOME | C:\Android\android-sdk\ndk\28.2.13676358 |
| ANDROID_NDK_ROOT | C:\Android\android-sdk\ndk\27.2.12479018 |
| ANDROID_SDK_ROOT | C:\Android\android-sdk |
@@ -36,6 +36,14 @@ 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") `
-ExpectedSignature "CFC0CE0547A698E5F3FA78F819654CE016D76464"
-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'
$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' `
-ExpectedSignature '245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D'
-ExpectedSubject $(Get-MicrosoftPublisher)
Update-Environment
@@ -4,7 +4,6 @@
################################################################################
$downloadUrl = "https://aka.ms/BuildComponentSetup.EN"
$signatureThumbprint = "8740DF4ACB749640AD318E4BE842F72EC651AD80"
Write-Host "Downloading BizTalk Project Build Component archive..."
$zipFile = Invoke-DownloadWithRetry $downloadUrl
@@ -19,10 +18,10 @@ Write-Host "Installing BizTalk Project Build Component..."
Install-Binary `
-LocalPath "$setupPath\Bootstrap.msi" `
-ExtraInstallArgs ("/l*v", "$setupPath\bootstrap.log") `
-ExpectedSignature $signatureThumbprint
-ExpectedSubject $(Get-MicrosoftPublisher)
Install-Binary `
-LocalPath "$setupPath\BuildComponentSetup.msi" `
-ExtraInstallArgs ("/l*v", "$setupPath\buildComponentSetup.log") `
-ExpectedSignature $signatureThumbprint
-ExpectedSubject $(Get-MicrosoftPublisher)
Invoke-PesterTests -TestFile "BizTalk" -TestName "BizTalk Build Component Setup"
@@ -13,9 +13,8 @@ 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 -ExpectedThumbprint $signatureThumbprint
Test-FileSignature -Path $installScriptPath -ExpectedSubject 'CN="Chocolatey Software, Inc", O="Chocolatey Software, Inc", L=Topeka, S=Kansas, C=US'
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' `
-ExpectedSignature '607A3EDAA64933E94422FC8F0C80388E0590986C'
-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'
# Prepare firewall rules
Write-Host "Adding the firewall rule for Google update blocking..."
@@ -20,7 +20,6 @@ Expand-7ZipArchive -Path $cloudFoundryArchPath -DestinationPath $cloudFoundryCli
Add-MachinePathItem $cloudFoundryCliPath
# Validate cf signature
$cloudFoundrySignatureThumbprint = "2C6B2F1562698503A6E4A25F2DF058E12E23A190"
Test-FileSignature -Path "$cloudFoundryCliPath\cf.exe" -ExpectedThumbprint $cloudFoundrySignatureThumbprint
Test-FileSignature -Path "$cloudFoundryCliPath\cf.exe" -ExpectedSubject 'CN="LF Projects, LLC", O="LF Projects, LLC", L=Wilmington, S=Delaware, C=US'
Invoke-PesterTests -TestFile "CLI.Tools" -TestName "CloudFoundry CLI"
@@ -5,6 +5,6 @@
Install-Binary -Type MSI `
-Url 'https://aka.ms/dacfx-msi' `
-ExpectedSignature '8F985BE8FD256085C90A95D3C74580511A1DB975'
-ExpectedSubject $(Get-MicrosoftPublisher)
Invoke-PesterTests -TestFile "Tools" -TestName "DACFx"
@@ -15,25 +15,19 @@ if (-not (Test-Path -Path $edgeDriverPath)) {
New-Item -Path $edgeDriverPath -ItemType Directory -Force
}
$versionInfoUrl = "https://msedgedriver.azureedge.net/LATEST_RELEASE_$($edgeVersion.Major)_WINDOWS"
$versionInfoUrl = "https://msedgedriver.microsoft.com/LATEST_RELEASE_$($edgeVersion.Major)_WINDOWS"
$versionInfoFile = Invoke-DownloadWithRetry -Url $versionInfoUrl -Path "$edgeDriverPath\versioninfo.txt"
$latestVersion = Get-Content -Path $versionInfoFile
Write-Host "Download Microsoft Edge WebDriver..."
$downloadUrl = "https://msedgedriver.azureedge.net/$latestVersion/edgedriver_win64.zip"
$downloadUrl = "https://msedgedriver.microsoft.com/$latestVersion/edgedriver_win64.zip"
$archivePath = Invoke-DownloadWithRetry $downloadUrl
Write-Host "Expand Microsoft Edge WebDriver archive..."
Expand-7ZipArchive -Path $archivePath -DestinationPath $edgeDriverPath
#Validate the EdgeDriver signature
$signatureThumbprint = @(
"7920AC8FB05E0FFFE21E8FF4B4F03093BA6AC16E",
"0BD8C56733FDCC06F8CB919FF5A200E39B1ACF71",
"F6EECCC7FF116889C2D5466AE7243D7AA7698689",
"6ACE61BAE3F09F4DD2697806D73E022CBFE70EB4"
)
Test-FileSignature -Path "$edgeDriverPath\msedgedriver.exe" -ExpectedThumbprint $signatureThumbprint
Test-FileSignature -Path "$edgeDriverPath\msedgedriver.exe" -ExpectedSubject $(Get-MicrosoftPublisher)
Write-Host "Setting the environment variables..."
[Environment]::SetEnvironmentVariable("EdgeWebDriver", $EdgeDriverPath, "Machine")
@@ -53,8 +53,7 @@ Write-Host "Expand Gecko WebDriver archive..."
Expand-7ZipArchive -Path $geckoDriverArchPath -DestinationPath $geckoDriverPath
# Validate Gecko WebDriver signature
$geckoDriverSignatureThumbprint = "6663D5C4FDAF9EFD5F823A26C9C410DC9928C44A"
Test-FileSignature -Path "$geckoDriverPath/geckodriver.exe" -ExpectedThumbprint $geckoDriverSignatureThumbprint
Test-FileSignature -Path "$geckoDriverPath/geckodriver.exe" -ExpectedSubject 'CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=San Francisco, S=California, C=US'
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") `
-ExpectedSignature '607A3EDAA64933E94422FC8F0C80388E0590986C'
-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'
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') `
-ExpectedSignature $toolsetContent.mongodb.signature
-ExpectedSubject 'CN="MONGODB, INC.", O="MONGODB, INC.", L=New York, S=New York, C=US'
# 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') `
-ExpectedSignature 'A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA'
-ExpectedSubject 'CN="MongoDB, Inc.", O="MongoDB, Inc.", L=New York, S=New York, C=US'
}
Invoke-PesterTests -TestFile "Databases" -TestName "MongoDB"
@@ -30,7 +30,7 @@ $mysqlVersionUrl = "https://cdn.mysql.com/Downloads/MySQL-${mysqlVersionMajorMin
Install-Binary `
-Url $mysqlVersionUrl `
-ExpectedSignature (Get-ToolsetContent).mysql.signature
-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'
# 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 `
-ExpectedSignature (Get-ToolsetContent).postgresql.signature `
-ExpectedSubject 'CN=EnterpriseDB Corporation, O=EnterpriseDB Corporation, S=Massachusetts, C=US' `
-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") `
-ExpectedSignature '6E78B3DCE2998F6C2457C3E54DA90A01034916AE'
-ExpectedSubject $(Get-MicrosoftPublisher)
@@ -4,17 +4,16 @@
################################################################################
$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" `
-ExpectedSignature $signatureThumbrint
-ExpectedSubject $(Get-MicrosoftPublisher)
Install-Binary `
-Url "${baseUrl}/SharedManagementObjects.msi" `
-ExpectedSignature $signatureThumbrint
-ExpectedSubject $(Get-MicrosoftPublisher)
Install-Binary `
-Url "${baseUrl}/PowerShellTools.msi" `
-ExpectedSignature $signatureThumbrint
-ExpectedSubject $(Get-MicrosoftPublisher)
@@ -11,8 +11,7 @@ if (Test-IsWin19) {
-Edition $vsToolset.edition `
-Channel $vsToolset.channel `
-RequiredComponents $vsToolset.workloads `
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64" `
-SignatureThumbprint $vsToolset.signature
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64"
}
if ( (Test-IsWin22) -or (Test-IsWin25) ) {
@@ -23,8 +22,7 @@ if ( (Test-IsWin22) -or (Test-IsWin25) ) {
-Channel $vsToolset.channel `
-InstallChannel $vsToolset.installChannel `
-RequiredComponents $vsToolset.workloads `
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64" `
-SignatureThumbprint $vsToolset.signature
-ExtraArgs "--allWorkloads --includeRecommended --remove Component.CPython3.x64"
}
# Find the version of VS installed for this instance
@@ -46,13 +44,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") `
-ExpectedSignature 'C91545B333C52C4465DE8B90A3FAF4E1D9C58DFA'
-ExpectedSubject 'CN=Microsoft Corporation, OU=MOPR, O=Microsoft Corporation, L=Redmond, S=Washington, C=US'
# 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") `
-ExpectedSignature 'E4C5C5FCDB68B930EE4E19BC25D431EF6D864C51'
-ExpectedSubject $(Get-MicrosoftPublisher)
}
if (Test-IsWin22) {
@@ -60,7 +58,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") `
-ExpectedSignature '7535269B94C1FEA4A5EF6D808E371DA242F27936'
-ExpectedSubject $(Get-MicrosoftPublisher)
}
if (-not (Test-IsWin19)) {
@@ -68,7 +66,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") `
-ExpectedSignature '573EF451A68C33FB904346D44551BEF3BB5BBF68'
-ExpectedSubject $(Get-MicrosoftPublisher)
}
Invoke-PesterTests -TestFile "VisualStudio"
+3 -5
View File
@@ -9,15 +9,13 @@ if (Test-IsWin19) {
Install-Binary -Type EXE `
-Url 'https://go.microsoft.com/fwlink/?linkid=2173743' `
-InstallArgs @("/features", "+", "/quiet") `
-ExpectedSignature '44796EB5BD439B4BFB078E1DC2F8345AE313CBB1'
-ExpectedSubject $(Get-MicrosoftPublisher)
$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=2294834"
$wdkSignatureThumbprint = "7920AC8FB05E0FFFE21E8FF4B4F03093BA6AC16E"
$wdkUrl = "https://go.microsoft.com/fwlink/?linkid=2324617"
} else {
throw "Invalid version of Visual Studio is found. Either 2019 or 2022 are required"
}
@@ -26,7 +24,7 @@ if (Test-IsWin19) {
Install-Binary -Type EXE `
-Url $wdkUrl `
-InstallArgs @("/features", "+", "/quiet") `
-ExpectedSignature $wdkSignatureThumbprint
-ExpectedSubject $(Get-MicrosoftPublisher)
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' `
-ExpectedSignature 'C3A3D43788E7ABCD287CB4F5B6583043774F99D2'
-ExpectedSubject $(Get-MicrosoftPublisher)
Invoke-PesterTests -TestFile "Tools" -TestName "WebPlatformInstaller"
@@ -11,6 +11,6 @@ $downloadUrl = Resolve-GithubReleaseAssetUrl `
Install-Binary `
-Url $downloadUrl `
-ExpectedSignature '2485A7AFA98E178CB8F30C9838346B514AEA4769'
-ExpectedSubject $(Get-MicrosoftPublisher)
Invoke-PesterTests -TestFile "WinAppDriver" -TestName "WinAppDriver"
@@ -0,0 +1,26 @@
################################################################################
## File: post-build-validation.sh
## Desc: Validate different aspects of the image after build
################################################################################
Write-Host "Test Microsoft Defender not set up using 'sc query sense'"
$response = sc query sense
foreach ($item in $response) {
if ($item -match "STATE") {
$state = $item.Split(":")[1].Trim()
if ($state -notmatch "RUNNING") {
Write-Host "MDE is not running"
} else {
Write-Host "MDE is running"
exit 1
}
}
}
Write-Host "Test Microsoft Defender not set up by checking for the MDE extension"
if (Test-Path -Path "C:\Packages\Plugins\Microsoft.Azure.AzureDefenderForServers.MDE.Windows") {
Write-Error "MDE extension detected, MDE is more likely installed on the system"
exit 1
} else {
Write-Host "MDE is not setup on the system"
}
@@ -19,6 +19,7 @@ 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 ExpectedSignature
The expected signature of the binary. If specified, the binary's signature is checked before installation.
.PARAMETER ExpectedSubject
The expected signature subject 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") -ExpectedSignature "A5C7D5B7C838D5F89DDBEDB85B2C566B4CDA881F"
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"
#>
Param
@@ -48,7 +48,7 @@ function Install-Binary {
[String] $Type,
[String[]] $InstallArgs,
[String[]] $ExtraInstallArgs,
[String[]] $ExpectedSignature,
[String] $ExpectedSubject,
[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('ExpectedSignature')) {
if ($ExpectedSignature) {
Test-FileSignature -Path $filePath -ExpectedThumbprint $ExpectedSignature
if ($PSBoundParameters.ContainsKey('ExpectedSubject')) {
if ($ExpectedSubject) {
Test-FileSignature -Path $filePath -ExpectedSubject $ExpectedSubject
} else {
throw "ExpectedSignature parameter is specified, but no signature is provided."
throw "ExpectedSubject parameter is specified, but no value 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 thumbprints.
The Test-FileSignature function checks the signature of a file against the expected subject.
It uses the Get-AuthenticodeSignature cmdlet to retrieve the signature information of the file.
If the signature status is not valid or the thumbprint does not match the expected thumbprints, an exception is thrown.
If the signature status is not valid or the subject of the signing certificate does not match the expected subject, an exception is thrown.
.PARAMETER Path
Specifies the path of the file to test.
.PARAMETER ExpectedThumbprint
Specifies the expected thumbprints to match against the file's signature.
.PARAMETER ExpectedSubject
Specifies the expected subject to match against the file's signature.
.EXAMPLE
Test-FileSignature -Path "C:\Path\To\File.exe" -ExpectedThumbprint "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6Q7R8S9T0"
Test-FileSignature -Path "C:\Path\To\File.exe" -ExpectedSubject "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".
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".
#>
param(
[Parameter(Mandatory = $true, Position = 0)]
[string] $Path,
[Parameter(Mandatory = $true)]
[string[]] $ExpectedThumbprint
[Parameter(Mandatory = $true, Position = 1)]
[string] $ExpectedSubject
)
$signature = Get-AuthenticodeSignature $Path
@@ -1005,19 +1005,15 @@ function Test-FileSignature {
throw "Signature status is not valid. Status: $($signature.Status)"
}
foreach ($thumbprint in $ExpectedThumbprint) {
if ($signature.SignerCertificate.Thumbprint.Contains($thumbprint)) {
Write-Output "Signature for $Path is valid"
$signatureMatched = $true
return
}
if ($signature.SignerCertificate.EnhancedKeyUsageList.FriendlyName -notcontains "Code Signing") {
throw "Certificate is not for code signing. Key usage: $($signature.SignerCertificate.EnhancedKeyUsageList)"
}
if ($signatureMatched) {
Write-Output "Signature for $Path is valid"
} else {
throw "Signature thumbprint do not match expected."
if ($signature.SignerCertificate.Subject -ne $ExpectedSubject) {
throw "Certificate subject does not match. Subject: $($signature.SignerCertificate.Subject)"
}
Write-Output "Signature for $Path is valid"
}
function Update-Environment {
@@ -1055,3 +1051,12 @@ 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,8 +32,7 @@ Function Install-VisualStudio {
[Parameter(Mandatory)] [String] $Channel,
[String] $InstallChannel = "",
[Parameter(Mandatory)] [String[]] $RequiredComponents,
[String] $ExtraArgs = "",
[Parameter(Mandatory)] [String[]] $SignatureThumbprint
[String] $ExtraArgs = ""
)
@@ -51,7 +50,7 @@ Function Install-VisualStudio {
$bootstrapperFilePath = Invoke-DownloadWithRetry $BootstrapperUrl
# Verify that the bootstrapper is signed by Microsoft
Test-FileSignature -Path $bootstrapperFilePath -ExpectedThumbprint $SignatureThumbprint
Test-FileSignature -Path $bootstrapperFilePath -ExpectedSubject $(Get-MicrosoftPublisher)
try {
$responseData = @{
+5 -1
View File
@@ -201,11 +201,15 @@ Describe "Pipx" {
}
Describe "Kotlin" {
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-js", "kotlinc-jvm")
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm")
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
"$toolName -version" | Should -ReturnZeroExitCode
}
It "kotlinc-js is available" {
"kotlinc-js -help" | Should -ReturnZeroExitCode
}
}
Describe "SQL OLEDB Driver" {
@@ -1,263 +1,6 @@
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 = [
@@ -520,7 +263,8 @@ build {
scripts = [
"${path.root}/../scripts/build/Install-NativeImages.ps1",
"${path.root}/../scripts/build/Configure-System.ps1",
"${path.root}/../scripts/build/Configure-User.ps1"
"${path.root}/../scripts/build/Configure-User.ps1",
"${path.root}/../scripts/build/Post-Build-Validation.ps1"
]
skip_clean = true
}
@@ -1,263 +1,6 @@
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 = [
@@ -515,7 +258,8 @@ build {
scripts = [
"${path.root}/../scripts/build/Install-NativeImages.ps1",
"${path.root}/../scripts/build/Configure-System.ps1",
"${path.root}/../scripts/build/Configure-User.ps1"
"${path.root}/../scripts/build/Configure-User.ps1",
"${path.root}/../scripts/build/Post-Build-Validation.ps1"
]
skip_clean = true
}
@@ -1,263 +1,6 @@
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 = [
@@ -507,7 +250,8 @@ provisioner "powershell" {
scripts = [
"${path.root}/../scripts/build/Install-NativeImages.ps1",
"${path.root}/../scripts/build/Configure-System.ps1",
"${path.root}/../scripts/build/Configure-User.ps1"
"${path.root}/../scripts/build/Configure-User.ps1",
"${path.root}/../scripts/build/Post-Build-Validation.ps1"
]
skip_clean = true
}
@@ -0,0 +1,24 @@
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]
}
@@ -0,0 +1,54 @@
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
}
}
}
@@ -0,0 +1,179 @@
// 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"
}
+3 -10
View File
@@ -218,10 +218,6 @@
"subversion" : "16",
"edition" : "Enterprise",
"channel": "release",
"signature": [
"8F985BE8FD256085C90A95D3C74580511A1DB975",
"245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D"
],
"workloads": [
"Component.Dotfuscator",
"Component.Linux.CMake",
@@ -426,12 +422,10 @@
"version": "3.9"
},
"mysql": {
"version": "5.7",
"signature": "DD34D7C71F160972DE0CE25B695A0D6A9C95BD91"
"version": "5.7"
},
"mongodb": {
"version": "5.0",
"signature": "A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA"
"version": "5.0"
},
"nsis": {
"version": "3.10"
@@ -443,8 +437,7 @@
"version": "18"
},
"postgresql": {
"version": "14",
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9"
"version": "14"
},
"kotlin": {
"version": "2.1.10",
+6 -18
View File
@@ -155,11 +155,7 @@
"subversion" : "17",
"edition" : "Enterprise",
"channel": "release",
"installChannel": "624045707_-738089513",
"signature": [
"245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D",
"8F985BE8FD256085C90A95D3C74580511A1DB975"
],
"installChannel": "",
"workloads": [
"Component.Dotfuscator",
"Component.Linux.CMake",
@@ -346,33 +342,25 @@
"version": "3.9"
},
"mysql": {
"version": "8.0",
"signature": "E8A8C17382A6DE62A3B443565E4A96843F834656"
"version": "8.0"
},
"mongodb": {
"version": "5.0",
"signature": "A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA"
"version": "5.0"
},
"nsis": {
"version": "3.10"
},
"llvm": {
"version": "18"
"version": "20"
},
"php": {
"version": "8.4"
},
"postgresql": {
"version": "14",
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9"
"version": "14"
},
"kotlin": {
"version": "2.1.10",
"pinnedDetails": {
"link": "https://youtrack.jetbrains.com/issues/KT?preview=KT-76169",
"reason": "this was pinned due to a new version 2.1.20 released has an issue with kotlinc-js -version` and kapt -version",
"review-at": "2025-03-31"
}
"version": "latest"
},
"openssl": {
"version": "1.1.1",
+7 -19
View File
@@ -137,11 +137,7 @@
"subversion" : "17",
"edition" : "Enterprise",
"channel": "release",
"installChannel": "624045707_-738089513",
"signature": [
"245D262748012A4FE6CE8BA6C951A4C4AFBC3E5D",
"8F985BE8FD256085C90A95D3C74580511A1DB975"
],
"installChannel": "",
"workloads": [
"Component.Dotfuscator",
"Component.Linux.CMake",
@@ -297,7 +293,7 @@
},
{
"name": "strawberryperl" ,
"args": [ "--version", "5.40.0.1" ]
"args": [ "--version", "5.40.2.2" ]
},
{ "name": "imagemagick" },
{ "name": "ninja" }
@@ -310,12 +306,10 @@
"version": "3.9"
},
"mysql": {
"version": "8.0",
"signature": "E8A8C17382A6DE62A3B443565E4A96843F834656"
"version": "8.0"
},
"mongodb": {
"version": "7.0",
"signature": "A5BBE2A6DA1D2A6E057EF870267E6A91E4D56BAA"
"version": "7.0"
},
"llvm": {
"version": "20"
@@ -324,19 +318,13 @@
"version": "8.4"
},
"postgresql": {
"version": "17",
"signature": "698BA51AA27CC31282AACA5055E4B9190BC6C0E9"
"version": "17"
},
"kotlin": {
"version": "2.1.10",
"pinnedDetails": {
"link": "https://youtrack.jetbrains.com/issues/KT?preview=KT-76169",
"reason": "this was pinned due to a new version 2.1.20 released has an issue with kotlinc-js -version` and kapt -version",
"review-at": "2025-03-31"
}
"version": "latest"
},
"openssl": {
"version": "3.4.1",
"version": "3.5.1",
"pinnedDetails": {
"link": "https://github.com/actions/runner-images-internal/pull/6702",
"reason": "Meaningful reason must be added at next update.",