Skip to content

pin helm back to helm 3 #4

pin helm back to helm 3

pin helm back to helm 3 #4

# TEMPORARY: validates the Windows LTSC 2025 image build for PR #122.
# Remove this file before/after merging to main.
name: windows-ltsc2025-test
on:
push:
branches:
- cal/md-1763-add-a-windowsltsc2025-workertools-build
workflow_dispatch:
jobs:
build-and-test:
runs-on: windows-2025
timeout-minutes: 120
defaults:
run:
shell: pwsh
working-directory: windows.ltsc2025
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Ensure Docker daemon is running
shell: pwsh
working-directory: .
run: |
# Workaround for actions/runner-images#13729:
# On Windows runners the docker service is sometimes left in the Stopped
# state at job start because the Hyper-V virtual switch fails to
# initialise during the runner's resume from a saved image. Starting
# the service (with retries) recovers the daemon.
$ErrorActionPreference = 'Continue'
$ready = $false
for ($attempt = 1; $attempt -le 5; $attempt++) {
$svc = Get-Service -Name docker -ErrorAction SilentlyContinue
if (-not $svc) {
throw "docker service is not installed on this runner."
}
Write-Host "Attempt ${attempt}: docker service status is $($svc.Status)"
if ($svc.Status -ne 'Running') {
Start-Service -Name docker -ErrorAction SilentlyContinue
Start-Sleep -Seconds 3
}
$deadline = (Get-Date).AddSeconds(60)
while ((Get-Date) -lt $deadline) {
docker version --format '{{.Server.Version}}' *> $null
if ($LASTEXITCODE -eq 0) { $ready = $true; break }
Start-Sleep -Seconds 2
}
if ($ready) {
Write-Host "Docker daemon is responsive."
break
}
Write-Host "Daemon did not respond on attempt $attempt; restarting service."
Stop-Service -Name docker -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 2
}
if (-not $ready) {
Write-Host "::group::Docker service state"
Get-Service -Name docker | Format-List *
Write-Host "::endgroup::"
Write-Host "::group::Recent Application event log (docker)"
Get-EventLog -LogName Application -Source docker -Newest 20 -ErrorAction SilentlyContinue |
Format-List TimeGenerated, EntryType, Message
Write-Host "::endgroup::"
throw "Docker daemon did not become ready after 5 attempts."
}
docker version
docker info
- name: Build worker-tools image
run: |
docker build `
--tag octopusdeploy/worker-tools:ci-windows.ltsc2025 `
.
- name: Build tests image
run: |
docker build `
--build-arg ContainerUnderTest=octopusdeploy/worker-tools:ci-windows.ltsc2025 `
--tag worker-tools-tests:ci-windows.ltsc2025 `
--file Tests.Dockerfile `
.
- name: Run Pester tests
run: |
docker run --rm `
-v "${{ github.workspace }}\windows.ltsc2025:C:\app" `
-w "C:\app" `
worker-tools-tests:ci-windows.ltsc2025 `
pwsh -File scripts/run-tests.ps1
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: pester-results-windows-ltsc2025
path: windows.ltsc2025/spec/PesterTestResults.xml
if-no-files-found: ignore