pin helm back to helm 3 #4
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |