Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bea691853d |
@@ -14,106 +14,34 @@ 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: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- 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: |
|
||||
Import-Module ./helpers/GitHubApi.psm1
|
||||
$gitHubApi = Get-GithubApi -Repository "${env:CI_REPO}" -AccessToken "${env:CI_PR_TOKEN}"
|
||||
$headers = @{
|
||||
Authorization="Bearer $env:CI_PR_TOKEN"
|
||||
}
|
||||
|
||||
# Private repository for builds
|
||||
$apiRepoUrl = "https://api.github.com/repos/$env:CI_PR"
|
||||
|
||||
$eventType = "trigger-${{ inputs.image_type }}-build"
|
||||
[string] $prGuid = New-Guid
|
||||
$clientPayload = @{
|
||||
pr_title = "${env:PR_TITLE} - " + $prGuid
|
||||
custom_repo = "${{ github.event.pull_request.head.repo.full_name }}"
|
||||
$body = @{
|
||||
event_type = $eventType;
|
||||
client_payload = @{
|
||||
pr_title = "$env:PR_TITLE"
|
||||
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'."
|
||||
}
|
||||
|
||||
wait-completion:
|
||||
runs-on: ubuntu-latest
|
||||
needs: trigger-workflow
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
$bodyString = $body | ConvertTo-Json
|
||||
|
||||
- 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 }}")
|
||||
try {
|
||||
Invoke-WebRequest -Uri "$apiRepoUrl/dispatches" -Method Post -Headers $headers -Body $bodyString | Out-Null
|
||||
} catch {
|
||||
throw "$($_.exception[0].message)"
|
||||
}
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
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)
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
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
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
# macOS 13
|
||||
- OS Version: macOS 13.7.6 (22H625)
|
||||
- Kernel Version: Darwin 22.6.0
|
||||
- Image Version: 20250714.1328
|
||||
- Image Version: 20250709.1318
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
- Bundler 2.6.9
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.10
|
||||
- Composer 2.8.9
|
||||
- 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 e86ec03236)
|
||||
- Vcpkg 2025 (build from commit c6f09fc73e)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
@@ -58,7 +58,7 @@
|
||||
- Curl 8.14.1
|
||||
- Git 2.50.1
|
||||
- Git LFS 3.7.0
|
||||
- GitHub CLI 2.75.0
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.8
|
||||
@@ -67,12 +67,12 @@
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- Unxip 3.1
|
||||
- yq 4.46.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.50
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
@@ -81,7 +81,7 @@
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.57.0
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.29.0
|
||||
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
||||
- Xcodes 1.6.2
|
||||
@@ -95,8 +95,8 @@
|
||||
- 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
|
||||
- Microsoft Edge 138.0.3351.77
|
||||
- Microsoft Edge WebDriver 138.0.3351.77
|
||||
- Mozilla Firefox 140.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.34.0
|
||||
@@ -146,8 +146,8 @@
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
@@ -214,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 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 |
|
||||
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.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 |
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# macOS 13
|
||||
- OS Version: macOS 13.7.6 (22H625)
|
||||
- Kernel Version: Darwin 22.6.0
|
||||
- Image Version: 20250714.1403
|
||||
- Image Version: 20250709.1395
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
- Curl 8.7.1
|
||||
- Git 2.50.1
|
||||
- Git LFS 3.7.0
|
||||
- GitHub CLI 2.75.0
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.8
|
||||
@@ -64,12 +64,12 @@
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- Unxip 3.1
|
||||
- yq 4.46.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.50
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
@@ -78,7 +78,7 @@
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.57.0
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.29.0
|
||||
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
||||
- Xcodes 1.6.2
|
||||
@@ -129,8 +129,8 @@
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
@@ -197,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 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 |
|
||||
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.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 |
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# macOS 14
|
||||
- OS Version: macOS 14.7.6 (23H626)
|
||||
- Kernel Version: Darwin 23.6.0
|
||||
- Image Version: 20250715.1434
|
||||
- Image Version: 20250709.1419
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
- Bundler 2.6.9
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.10
|
||||
- Homebrew 4.5.10
|
||||
- Composer 2.8.9
|
||||
- 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 30f771d4ac)
|
||||
- Vcpkg 2025 (build from commit c6f09fc73e)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
@@ -58,7 +58,7 @@
|
||||
- Curl 8.14.1
|
||||
- Git 2.50.1
|
||||
- Git LFS 3.7.0
|
||||
- GitHub CLI 2.75.1
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.8
|
||||
@@ -67,12 +67,12 @@
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- Unxip 3.2
|
||||
- yq 4.46.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.50
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
@@ -81,7 +81,7 @@
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.57.2
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.29.0
|
||||
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||
- Xcodes 1.6.2
|
||||
@@ -95,8 +95,8 @@
|
||||
- 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
|
||||
- Microsoft Edge 138.0.3351.77
|
||||
- Microsoft Edge WebDriver 138.0.3351.77
|
||||
- Mozilla Firefox 140.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.34.0
|
||||
@@ -138,8 +138,8 @@
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
@@ -237,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 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 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) |
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
# macOS 14
|
||||
- OS Version: macOS 14.7.6 (23H626)
|
||||
- Kernel Version: Darwin 23.6.0
|
||||
- Image Version: 20250723.1691
|
||||
- Image Version: 20250709.1652
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.412, 9.0.102, 9.0.203, 9.0.303
|
||||
- .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`
|
||||
@@ -21,29 +21,29 @@
|
||||
- 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.2.0-release-294
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.19.4
|
||||
- Node.js 20.19.3
|
||||
- Perl 5.40.2
|
||||
- Python3 3.13.5
|
||||
- Ruby 3.3.8
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.7.1
|
||||
- Bundler 2.6.9
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Homebrew 4.5.11
|
||||
- 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.7.1
|
||||
- Vcpkg 2025 (build from commit 7bc2cb97d8)
|
||||
- RubyGems 3.6.9
|
||||
- Vcpkg 2025 (build from commit c6f09fc73e)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.11
|
||||
- Apache Maven 3.9.10
|
||||
- Gradle 8.14.3
|
||||
|
||||
### Utilities
|
||||
@@ -56,7 +56,7 @@
|
||||
- Curl 8.7.1
|
||||
- Git 2.50.1
|
||||
- Git LFS 3.7.0
|
||||
- GitHub CLI 2.76.0
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.8
|
||||
@@ -65,12 +65,12 @@
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- Unxip 3.2
|
||||
- yq 4.46.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.57
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
@@ -79,7 +79,7 @@
|
||||
- Cmake 3.31.6
|
||||
- CodeQL Action Bundle 2.22.1
|
||||
- Fastlane 2.228.0
|
||||
- SwiftFormat 0.57.2
|
||||
- SwiftFormat 0.56.4
|
||||
- Xcbeautify 2.29.0
|
||||
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||
- Xcodes 1.6.2
|
||||
@@ -89,10 +89,10 @@
|
||||
### Browsers
|
||||
- Safari 18.5 (19621.2.5.18.1)
|
||||
- SafariDriver 18.5 (19621.2.5.18.1)
|
||||
- Google Chrome 138.0.7204.169
|
||||
- Google Chrome for Testing 138.0.7204.168
|
||||
- ChromeDriver 138.0.7204.168
|
||||
- Mozilla Firefox 141.0
|
||||
- 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.34.0
|
||||
|
||||
@@ -106,9 +106,9 @@
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| -------------------- | -------------------- |
|
||||
| 11.0.28+6 | JAVA_HOME_11_arm64 |
|
||||
| 17.0.16+8 | JAVA_HOME_17_arm64 |
|
||||
| 21.0.8+9.0 (default) | JAVA_HOME_21_arm64 |
|
||||
| 11.0.27+6 | JAVA_HOME_11_arm64 |
|
||||
| 17.0.15+6 | JAVA_HOME_17_arm64 |
|
||||
| 21.0.7+6.0 (default) | JAVA_HOME_21_arm64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
- 3.1.7
|
||||
- 3.2.8
|
||||
- 3.3.8
|
||||
- 3.4.5
|
||||
- 3.4.4
|
||||
|
||||
#### Python
|
||||
- 3.11.9
|
||||
@@ -125,13 +125,13 @@
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
- 20.19.4
|
||||
- 22.17.1
|
||||
- 20.19.3
|
||||
- 22.17.0
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
@@ -252,18 +252,18 @@
|
||||
| visionOS 2.2 | Apple Vision Pro |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| 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-ext18 (rev 1)<br>android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 36.0.0 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.5 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264 (default)<br>27.3.13750724<br>28.2.13676358 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| 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 | 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.2.13676358 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# macOS 15
|
||||
- OS Version: macOS 15.5 (24F5068b)
|
||||
- Kernel Version: Darwin 24.5.0
|
||||
- Image Version: 20250714.1591
|
||||
- Image Version: 20250709.1581
|
||||
|
||||
## Installed Software
|
||||
|
||||
@@ -32,13 +32,13 @@
|
||||
- Bundler 2.6.9
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.10
|
||||
- Composer 2.8.9
|
||||
- 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 137cec7e04)
|
||||
- Vcpkg 2025 (build from commit c6f09fc73e)
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
@@ -56,7 +56,7 @@
|
||||
- Curl 8.14.1
|
||||
- Git 2.50.1
|
||||
- Git LFS 3.7.0
|
||||
- GitHub CLI 2.75.0
|
||||
- GitHub CLI 2.74.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.8
|
||||
@@ -65,12 +65,12 @@
|
||||
- Packer 1.13.1
|
||||
- pkgconf 2.5.1
|
||||
- Unxip 3.2
|
||||
- yq 4.46.1
|
||||
- yq 4.45.4
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.27.50
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
@@ -93,8 +93,8 @@
|
||||
- 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
|
||||
- Microsoft Edge 138.0.3351.77
|
||||
- Microsoft Edge WebDriver 138.0.3351.77
|
||||
- Mozilla Firefox 140.0.4
|
||||
- geckodriver 0.36.0
|
||||
- Selenium server 4.34.0
|
||||
@@ -135,8 +135,8 @@
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
|
||||
@@ -15,6 +15,15 @@ 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
|
||||
|
||||
@@ -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.microsoft.com/LATEST_RELEASE_${edge_version_major}_MACOS")
|
||||
edge_driver_version_file_path=$(download_with_retry "https://msedgedriver.azureedge.net/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.microsoft.com/${edge_driver_latest_version}/edgedriver_mac64.zip"
|
||||
edge_driver_url="https://msedgedriver.azureedge.net/${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 -help" | Should -ReturnZeroExitCode
|
||||
"$toolName -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Ubuntu 22.04
|
||||
- OS Version: 22.04.5 LTS
|
||||
- Kernel Version: 6.8.0-1030-azure
|
||||
- Image Version: 20250713.1.0
|
||||
- Image Version: 20250710.1.0
|
||||
- Systemd version: 249.11-0ubuntu3.16
|
||||
|
||||
## Installed Software
|
||||
@@ -18,7 +18,7 @@
|
||||
- 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.6
|
||||
- Julia 1.11.5
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Mono 6.12.0.200
|
||||
- MSBuild 16.10.1.31701 (Mono 6.12.0.200)
|
||||
@@ -39,7 +39,7 @@
|
||||
- Pip3 22.0.2
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.3.5
|
||||
- Vcpkg (build from commit 09b8d93e61)
|
||||
- Vcpkg (build from commit cd6256cd37)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -108,7 +108,7 @@ to accomplish this.
|
||||
- yamllint 1.37.1
|
||||
- yq 4.46.1
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.289
|
||||
@@ -122,7 +122,7 @@ to accomplish this.
|
||||
- Netlify CLI 22.2.2
|
||||
- OpenShift CLI 4.19.3
|
||||
- ORAS CLI 1.2.3
|
||||
- Vercel CLI 44.4.1
|
||||
- Vercel CLI 44.3.0
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
@@ -134,7 +134,7 @@ to accomplish this.
|
||||
|
||||
### PHP Tools
|
||||
- PHP: 8.1.2
|
||||
- Composer 2.8.10
|
||||
- Composer 2.8.9
|
||||
- PHPUnit 8.5.42
|
||||
```
|
||||
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
@@ -164,8 +164,8 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
- 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
|
||||
- Microsoft Edge 138.0.3351.77
|
||||
- Microsoft Edge WebDriver 138.0.3351.77
|
||||
- Selenium server 4.34.0
|
||||
- Mozilla Firefox 140.0.4
|
||||
- Geckodriver 0.36.0
|
||||
@@ -194,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.2
|
||||
- MySQL 8.0.42-0ubuntu0.22.04.1
|
||||
```
|
||||
User: root
|
||||
Password: root
|
||||
@@ -210,8 +210,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Ubuntu 24.04
|
||||
- OS Version: 24.04.2 LTS
|
||||
- Kernel Version: 6.11.0-1018-azure
|
||||
- Image Version: 20250713.1.0
|
||||
- Image Version: 20250710.1.0
|
||||
- Systemd version: 255.4-1ubuntu8.8
|
||||
|
||||
## Installed Software
|
||||
@@ -18,7 +18,7 @@
|
||||
- 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.6
|
||||
- Julia 1.11.5
|
||||
- Kotlin 2.1.10-release-473
|
||||
- Node.js 20.19.3
|
||||
- Perl 5.38.2
|
||||
@@ -36,7 +36,7 @@
|
||||
- Pip3 24.0
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.4.20
|
||||
- Vcpkg (build from commit 09b8d93e61)
|
||||
- Vcpkg (build from commit cd6256cd37)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -98,7 +98,7 @@ to accomplish this.
|
||||
- yamllint 1.37.1
|
||||
- yq 4.46.1
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- AWS CLI 2.27.50
|
||||
@@ -119,7 +119,7 @@ to accomplish this.
|
||||
|
||||
### PHP Tools
|
||||
- PHP: 8.3.6
|
||||
- Composer 2.8.10
|
||||
- Composer 2.8.9
|
||||
- PHPUnit 8.5.42
|
||||
```
|
||||
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
@@ -144,8 +144,8 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
|
||||
- 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
|
||||
- Microsoft Edge 138.0.3351.77
|
||||
- Microsoft Edge WebDriver 138.0.3351.77
|
||||
- Selenium server 4.34.0
|
||||
- Mozilla Firefox 140.0.4
|
||||
- Geckodriver 0.36.0
|
||||
@@ -174,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.2
|
||||
- MySQL 8.0.42-0ubuntu0.24.04.1
|
||||
```
|
||||
User: root
|
||||
Password: root
|
||||
@@ -186,8 +186,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
|
||||
@@ -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\")" "latest")
|
||||
download_url=$(resolve_github_release_asset_url "JetBrains/kotlin" "contains(\"kotlin-compiler\") and endswith(\".zip\")" "2.1.10")
|
||||
archive_path=$(download_with_retry "$download_url")
|
||||
|
||||
# Supply chain security - Kotlin
|
||||
|
||||
@@ -20,21 +20,8 @@ use_checksum_comparison "${kind_binary_path}" "${kind_external_hash}"
|
||||
install "${kind_binary_path}" /usr/local/bin/kind
|
||||
|
||||
## Install kubectl
|
||||
|
||||
# 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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
@@ -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.microsoft.com/LATEST_RELEASE_${edge_version_major}_LINUX"
|
||||
edgedriver_version_url="https://msedgedriver.azureedge.net/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.microsoft.com/${edgedriver_latest_version}/edgedriver_linux64.zip"
|
||||
edgedriver_url="https://msedgedriver.azureedge.net/${edgedriver_latest_version}/edgedriver_linux64.zip"
|
||||
edgedriver_archive_path=$(download_with_retry "$edgedriver_url")
|
||||
|
||||
unzip -qq "$edgedriver_archive_path" -d "$EDGEDRIVER_DIR"
|
||||
|
||||
@@ -387,7 +387,7 @@ Describe "Kotlin" {
|
||||
}
|
||||
|
||||
It "kotlinc-js" {
|
||||
"kotlinc-js -help" | Should -ReturnZeroExitCode
|
||||
"kotlinc-js -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
"java": {
|
||||
"default": "11",
|
||||
"versions": [ "8", "11", "17", "21"],
|
||||
"maven": "3.9.11"
|
||||
"maven": "3.9.10"
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "commandlinetools-linux-9477386_latest.zip",
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
"java": {
|
||||
"default": "17",
|
||||
"versions": [ "8", "11", "17", "21"],
|
||||
"maven": "3.9.11"
|
||||
"maven": "3.9.10"
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "commandlinetools-linux-11076708_latest.zip",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
***
|
||||
# Windows Server 2022
|
||||
- OS Version: 10.0.20348 Build 3932
|
||||
- Image Version: 20250713.1.0
|
||||
- Image Version: 20250710.1.0
|
||||
|
||||
## Windows features
|
||||
- Windows Subsystem for Linux (WSLv1): Enabled
|
||||
@@ -14,8 +14,8 @@
|
||||
|
||||
### Language and Runtime
|
||||
- Bash 5.2.37(1)-release
|
||||
- Go 1.24.5
|
||||
- Julia 1.11.6
|
||||
- Go 1.24.4
|
||||
- Julia 1.11.5
|
||||
- Kotlin 2.1.10
|
||||
- LLVM 20.1.7
|
||||
- Node 20.19.3
|
||||
@@ -34,7 +34,7 @@
|
||||
- pip 25.1.1 (python 3.9)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.22
|
||||
- Vcpkg (build from commit 09b8d93e61)
|
||||
- Vcpkg (build from commit 96fd599859)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -89,11 +89,11 @@
|
||||
- WiX Toolset 3.14.1.8722
|
||||
- yamllint 1.37.1
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- Alibaba Cloud CLI 3.0.289
|
||||
- AWS CLI 2.27.50
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
@@ -117,8 +117,8 @@
|
||||
### Browsers and Drivers
|
||||
- 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
|
||||
- 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
|
||||
@@ -161,8 +161,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
@@ -489,8 +489,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
### .NET Core Tools
|
||||
- .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.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.AspNetCore.App: 6.0.5, 6.0.26, 6.0.36, 6.0.38, 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.38, 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
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
***
|
||||
# Windows Server 2025
|
||||
- OS Version: 10.0.26100 Build 4652
|
||||
- Image Version: 20250713.1.0
|
||||
- Image Version: 20250708.1.0
|
||||
|
||||
## Windows features
|
||||
- Windows Subsystem for Linux (WSLv1): Enabled
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
### Language and Runtime
|
||||
- Bash 5.2.37(1)-release
|
||||
- Go 1.24.5
|
||||
- Julia 1.11.6
|
||||
- Go 1.24.4
|
||||
- Julia 1.11.5
|
||||
- Kotlin 2.1.10
|
||||
- LLVM 20.1.7
|
||||
- Node 22.17.0
|
||||
@@ -26,16 +26,16 @@
|
||||
- Ruby 3.3.8
|
||||
|
||||
### Package Management
|
||||
- Chocolatey 2.5.0
|
||||
- Composer 2.8.10
|
||||
- Helm 3.18.3
|
||||
- Chocolatey 2.4.3
|
||||
- Composer 2.8.9
|
||||
- Helm 3.18.2
|
||||
- Miniconda 25.5.1 (pre-installed on the image but not added to PATH)
|
||||
- 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 09b8d93e61)
|
||||
- Vcpkg (build from commit c6f09fc73e)
|
||||
- Yarn 1.22.22
|
||||
|
||||
#### Environment variables
|
||||
@@ -86,15 +86,15 @@
|
||||
- WiX Toolset 3.14.1.8722
|
||||
- yamllint 1.37.1
|
||||
- zstd 1.5.7
|
||||
- Ninja 1.13.1
|
||||
- Ninja 1.13.0
|
||||
|
||||
### CLI Tools
|
||||
- AWS CLI 2.27.50
|
||||
- AWS CLI 2.27.49
|
||||
- AWS SAM CLI 1.142.1
|
||||
- AWS Session Manager CLI 1.2.707.0
|
||||
- Azure CLI 2.75.0
|
||||
- Azure DevOps CLI extension 1.0.2
|
||||
- GitHub CLI 2.75.0
|
||||
- GitHub CLI 2.74.2
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.88.0
|
||||
@@ -109,8 +109,8 @@
|
||||
### Browsers and Drivers
|
||||
- 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
|
||||
- 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
|
||||
@@ -153,8 +153,8 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
|
||||
#### Go
|
||||
- 1.22.12
|
||||
- 1.23.11
|
||||
- 1.24.5
|
||||
- 1.23.10
|
||||
- 1.24.4
|
||||
|
||||
#### Node.js
|
||||
- 18.20.8
|
||||
@@ -475,10 +475,10 @@ Note: MSYS2 is pre-installed on image but not added to PATH.
|
||||
|
||||
#### Powershell Modules
|
||||
- Az: 12.5.0
|
||||
- AWSPowershell: 5.0.9
|
||||
- AWSPowershell: 5.0.8
|
||||
- DockerMsftProvider: 1.0.0.8
|
||||
- MarkdownPS: 1.10
|
||||
- Microsoft.Graph: 2.29.0
|
||||
- Microsoft.Graph: 2.28.0
|
||||
- Pester: 3.4.0, 5.7.1
|
||||
- PowerShellGet: 1.0.0.1, 2.2.5
|
||||
- PSScriptAnalyzer: 1.24.0
|
||||
|
||||
@@ -15,12 +15,12 @@ if (-not (Test-Path -Path $edgeDriverPath)) {
|
||||
New-Item -Path $edgeDriverPath -ItemType Directory -Force
|
||||
}
|
||||
|
||||
$versionInfoUrl = "https://msedgedriver.microsoft.com/LATEST_RELEASE_$($edgeVersion.Major)_WINDOWS"
|
||||
$versionInfoUrl = "https://msedgedriver.azureedge.net/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.microsoft.com/$latestVersion/edgedriver_win64.zip"
|
||||
$downloadUrl = "https://msedgedriver.azureedge.net/$latestVersion/edgedriver_win64.zip"
|
||||
$archivePath = Invoke-DownloadWithRetry $downloadUrl
|
||||
|
||||
Write-Host "Expand Microsoft Edge WebDriver archive..."
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
################################################################################
|
||||
## 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"
|
||||
}
|
||||
@@ -201,15 +201,11 @@ Describe "Pipx" {
|
||||
}
|
||||
|
||||
Describe "Kotlin" {
|
||||
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm")
|
||||
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-js", "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" {
|
||||
|
||||
@@ -263,8 +263,7 @@ 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/Post-Build-Validation.ps1"
|
||||
"${path.root}/../scripts/build/Configure-User.ps1"
|
||||
]
|
||||
skip_clean = true
|
||||
}
|
||||
|
||||
@@ -258,8 +258,7 @@ 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/Post-Build-Validation.ps1"
|
||||
"${path.root}/../scripts/build/Configure-User.ps1"
|
||||
]
|
||||
skip_clean = true
|
||||
}
|
||||
|
||||
@@ -250,8 +250,7 @@ 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/Post-Build-Validation.ps1"
|
||||
"${path.root}/../scripts/build/Configure-User.ps1"
|
||||
]
|
||||
skip_clean = true
|
||||
}
|
||||
|
||||
@@ -360,7 +360,12 @@
|
||||
"version": "14"
|
||||
},
|
||||
"kotlin": {
|
||||
"version": "latest"
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"openssl": {
|
||||
"version": "1.1.1",
|
||||
|
||||
@@ -321,7 +321,12 @@
|
||||
"version": "17"
|
||||
},
|
||||
"kotlin": {
|
||||
"version": "latest"
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"openssl": {
|
||||
"version": "3.5.1",
|
||||
|
||||
Reference in New Issue
Block a user