mirror of
https://github.com/actions/go-versions.git
synced 2026-01-30 05:58:37 +00:00
Compare commits
29 Commits
test-arm64
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6dbdff4503 | ||
|
|
0e494735ab | ||
|
|
cfaea8634b | ||
|
|
5c18eb3688 | ||
|
|
ac0dfe6d36 | ||
|
|
a523889b33 | ||
|
|
a1d73d914e | ||
|
|
e82f1c8d3d | ||
|
|
191b5a3c66 | ||
|
|
b10cef4a70 | ||
|
|
d3d9aedc52 | ||
|
|
a3e5efd44d | ||
|
|
40c37f487c | ||
|
|
a377a0baa6 | ||
|
|
6263527c99 | ||
|
|
9050915a95 | ||
|
|
fdd4a4d276 | ||
|
|
21413175ac | ||
|
|
405e5e66a4 | ||
|
|
d59cdd7bec | ||
|
|
8c6bd21140 | ||
|
|
8b69c18c83 | ||
|
|
7528b68851 | ||
|
|
ad007a1a71 | ||
|
|
070c2a1b84 | ||
|
|
06b75e6f50 | ||
|
|
435e8c8778 | ||
|
|
ef611dd539 | ||
|
|
b1013e0081 |
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@@ -13,4 +13,4 @@ jobs:
|
|||||||
name: CodeQL analysis
|
name: CodeQL analysis
|
||||||
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
||||||
with:
|
with:
|
||||||
languages: "['go']"
|
languages: '["go"]'
|
||||||
|
|||||||
2
.github/workflows/get-go-versions.yml
vendored
2
.github/workflows/get-go-versions.yml
vendored
@@ -1,7 +1,7 @@
|
|||||||
name: Get Go versions
|
name: Get Go versions
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 3,15 * * *'
|
- cron: '0 0,12 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ class GoBuilder {
|
|||||||
|
|
||||||
$filename = "$goVersion.$goPlatform-$arch.$ArchiveType"
|
$filename = "$goVersion.$goPlatform-$arch.$ArchiveType"
|
||||||
|
|
||||||
return "https://storage.googleapis.com/golang/$filename"
|
return "https://go.dev/dl/$filename"
|
||||||
}
|
}
|
||||||
|
|
||||||
[string] Download() {
|
[string] Download() {
|
||||||
|
|||||||
@@ -1,24 +1,52 @@
|
|||||||
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
|
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
|
||||||
Import-Module (Join-Path $PSScriptRoot "../helpers/common-helpers.psm1")
|
Import-Module (Join-Path $PSScriptRoot "../helpers/common-helpers.psm1")
|
||||||
|
|
||||||
BeforeAll {
|
Describe "Go" {
|
||||||
|
|
||||||
|
BeforeAll {
|
||||||
Set-Location -Path "source"
|
Set-Location -Path "source"
|
||||||
$sourceLocation = Get-Location
|
$sourceLocation = Get-Location
|
||||||
|
|
||||||
function Get-UseGoLogs {
|
function Get-UseGoLogs {
|
||||||
# GitHub Windows images don't have `HOME` variable
|
$runnerProc = Get-Process -Name "Runner.Listener" -ErrorAction SilentlyContinue | Select-Object -First 1
|
||||||
$homeDir = $env:HOME ?? $env:HOMEDRIVE
|
#Write-Host "`$runnerProc: $($runnerProc | Out-String)"
|
||||||
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
|
if (-not $runnerProc -or -not $runnerProc.Path) {
|
||||||
|
Write-Error "Runner.Listener process not found."
|
||||||
|
return
|
||||||
|
}
|
||||||
|
# Go up two directories to get runner root
|
||||||
|
$runnerRoot = Split-Path (Split-Path $runnerProc.Path -Parent) -Parent
|
||||||
|
#Write-Host "`$runnerRoot: $runnerRoot"
|
||||||
|
# Recursively find all _diag/pages folders under the runner root directory
|
||||||
|
$possiblePaths = Get-ChildItem -Path $runnerRoot -Directory -Recurse -Depth 4 -ErrorAction SilentlyContinue |
|
||||||
|
Where-Object { $_.FullName -like "*_diag\pages" -or $_.FullName -like "*_diag/pages" }
|
||||||
|
Write-Host "LogsPaths:"
|
||||||
|
$possiblePaths | ForEach-Object { Write-Host $_.FullName }
|
||||||
|
|
||||||
$useGoLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
|
|
||||||
$logContent = Get-Content $_.Fullname -Raw
|
$logsFolderPath = $possiblePaths | Where-Object { Test-Path $_ } | Select-Object -First 1
|
||||||
return $logContent -match "setup-go@v"
|
if ($logsFolderPath) {
|
||||||
} | Select-Object -First 1
|
$resolvedPath = Resolve-Path -Path $logsFolderPath -ErrorAction SilentlyContinue
|
||||||
return $useGoLogFile.Fullname
|
}
|
||||||
|
|
||||||
|
if ($resolvedPath -and -not [string]::IsNullOrEmpty($resolvedPath.Path) -and (Test-Path $resolvedPath.Path)) {
|
||||||
|
$useGoLogFile = Get-ChildItem -Path $resolvedPath | Where-Object {
|
||||||
|
$logContent = Get-Content $_.Fullname -Raw
|
||||||
|
return $logContent -match "setup-go@v"
|
||||||
|
} | Select-Object -First 1
|
||||||
|
|
||||||
|
# Return the file name if a match is found
|
||||||
|
if ($useGoLogFile) {
|
||||||
|
return $useGoLogFile.FullName
|
||||||
|
} else {
|
||||||
|
Write-Error "No matching log file found in the specified path: $($resolvedPath.Path)"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Write-Error "The provided logs folder path is null, empty, or does not exist: $logsFolderPath"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Go" {
|
|
||||||
It "is available" {
|
It "is available" {
|
||||||
"go version" | Should -ReturnZeroExitCode
|
"go version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -44,12 +72,25 @@ Describe "Go" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
It "cached version is used without downloading" {
|
It "cached version is used without downloading" {
|
||||||
|
|
||||||
|
if ($env:RUNNER_TYPE -eq "self-hosted") {
|
||||||
|
# Get the installed version of Go
|
||||||
|
$goVersion = Invoke-Expression "go version"
|
||||||
|
# Check if Go is installed
|
||||||
|
$goVersion | Should -Not -BeNullOrEmpty
|
||||||
|
# Check if the installed version of Go is the expected version
|
||||||
|
$installedVersion = $goVersion -split " " | Select-Object -Index 2
|
||||||
|
$installedVersion = $installedVersion -replace "go", "" -replace "v", ""
|
||||||
|
$expectedVersion = $env:VERSION -replace ".0", ""
|
||||||
|
$installedVersion | Should -BeLike "$expectedVersion*"
|
||||||
|
}else {
|
||||||
# Analyze output of previous steps to check if Go was consumed from cache or downloaded
|
# Analyze output of previous steps to check if Go was consumed from cache or downloaded
|
||||||
$useGoLogFile = Get-UseGoLogs
|
$useGoLogFile = Get-UseGoLogs
|
||||||
$useGoLogFile | Should -Exist
|
$useGoLogFile | Should -Exist
|
||||||
$useGoLogContent = Get-Content $useGoLogFile -Raw
|
$useGoLogContent = Get-Content $useGoLogFile -Raw
|
||||||
$useGoLogContent | Should -Match "Found in cache"
|
$useGoLogContent | Should -Match "Found in cache"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
It "Run simple code" {
|
It "Run simple code" {
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user