Compare commits

..

7 Commits

Author SHA1 Message Date
aparnajyothi-y
0b6a6fa38c Update Go.Tests.ps1 2024-07-08 12:34:11 +05:30
aparnajyothi-y
638c3d6a70 Update Go.Tests.ps1 2024-06-28 17:35:33 +05:30
aparnajyothi-y
73f7463539 Update Go.Tests.ps1 2024-06-28 17:25:21 +05:30
aparnajyothi-y
81b9138763 Update Go.Tests.ps1 2024-06-28 17:17:32 +05:30
aparnajyothi-y
d0e62ec3da Update Go.Tests.ps1 2024-06-28 17:06:40 +05:30
aparnajyothi-y
f83c549263 Update Go.Tests.ps1 2024-06-28 16:59:37 +05:30
aparnajyothi-y
988185a8eb Update build-go-packages.yml 2024-06-28 16:53:15 +05:30
6 changed files with 25 additions and 1902 deletions

View File

@@ -23,7 +23,7 @@ on:
jobs:
go:
name: Go
uses: actions/versions-package-tools/.github/workflows/build-tool-packages.yml@main
uses: actions/versions-package-tools/.github/workflows/build-tool-packages.yml@test-arm64
with:
tool-name: "go"
tool-version: ${{ inputs.VERSION || '1.19.0' }}

View File

@@ -13,4 +13,4 @@ jobs:
name: CodeQL analysis
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
with:
languages: '["go"]'
languages: "['go']"

View File

@@ -1,7 +1,7 @@
name: Get Go versions
on:
schedule:
- cron: '0 0,12 * * *'
- cron: '0 3,15 * * *'
workflow_dispatch:
jobs:
@@ -10,4 +10,4 @@ jobs:
with:
tool-name: "Go"
image-url: "https://go.dev/images/gopher-footer.jpg"
secrets: inherit
secrets: inherit

View File

@@ -66,7 +66,7 @@ class GoBuilder {
$filename = "$goVersion.$goPlatform-$arch.$ArchiveType"
return "https://go.dev/dl/$filename"
return "https://storage.googleapis.com/golang/$filename"
}
[string] Download() {

View File

@@ -1,52 +1,24 @@
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
Import-Module (Join-Path $PSScriptRoot "../helpers/common-helpers.psm1")
Describe "Go" {
BeforeAll {
BeforeAll {
Set-Location -Path "source"
$sourceLocation = Get-Location
function Get-UseGoLogs {
$runnerProc = Get-Process -Name "Runner.Listener" -ErrorAction SilentlyContinue | Select-Object -First 1
#Write-Host "`$runnerProc: $($runnerProc | Out-String)"
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 }
$logsFolderPath = $possiblePaths | Where-Object { Test-Path $_ } | Select-Object -First 1
if ($logsFolderPath) {
$resolvedPath = Resolve-Path -Path $logsFolderPath -ErrorAction SilentlyContinue
}
# GitHub Windows images don't have `HOME` variable
$homeDir = $env:HOME ?? $env:HOMEDRIVE
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
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"
}
$useGoLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
$logContent = Get-Content $_.Fullname -Raw
return $logContent -match "setup-go@v"
} | Select-Object -First 1
return $useGoLogFile.Fullname
}
}
Describe "Go" {
It "is available" {
"go version" | Should -ReturnZeroExitCode
}
@@ -71,9 +43,15 @@ Describe "Go" {
$goPath.startsWith($expectedPath) | Should -BeTrue -Because "'$goPath' is not started with '$expectedPath'"
}
It "cached version is used without downloading" {
if ($env:RUNNER_TYPE -eq "self-hosted") {
It "cached version is used without downloading" {
Write-Host "Runner Type: $env:RUNNER_TYPE"
if ($env:RUNNER_TYPE -eq "GitHub") {
# Analyze output of previous steps to check if Go was consumed from cache or downloaded
$useGoLogFile = Get-UseGoLogs
$useGoLogFile | Should -Exist
$useGoLogContent = Get-Content $useGoLogFile -Raw
$useGoLogContent | Should -Match "Found in cache"
} elseif ($env:RUNNER_TYPE -eq "self-hosted"){
# Get the installed version of Go
$goVersion = Invoke-Expression "go version"
# Check if Go is installed
@@ -83,13 +61,7 @@ Describe "Go" {
$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
$useGoLogFile = Get-UseGoLogs
$useGoLogFile | Should -Exist
$useGoLogContent = Get-Content $useGoLogFile -Raw
$useGoLogContent | Should -Match "Found in cache"
}
}
}

File diff suppressed because it is too large Load Diff