From 0255106ba7edcef77294aa18d0c6fad93edd4213 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 12 Nov 2026 06:09:03 +0000 Subject: [PATCH] ci: retry a failed Chocolatey install on Windows and fail the step itself The README no longer lists release signing as design-only; it shipped in 0.1.0. Co-Authored-By: jason.han --- .github/workflows/ci.yml | 8 +++++++- .github/workflows/release.yml | 8 +++++++- README.md | 3 +-- changes/unreleased/choco-retry.fixed.md | 1 + 4 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 changes/unreleased/choco-retry.fixed.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce4dbc0..9515485 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,13 @@ jobs: if: runner.os == 'Windows' shell: pwsh run: | - choco install -y --no-progress hg sliksvn + # The community feed answers 503 now and then; a failed choco must fail the step, not the next one. + for ($attempt = 1; $attempt -le 3; $attempt++) { + choco install -y --no-progress hg sliksvn + if ($LASTEXITCODE -eq 0) { break } + if ($attempt -eq 3) { throw "choco install failed $attempt times (last exit code $LASTEXITCODE)" } + Start-Sleep -Seconds (30 * $attempt) + } Add-Content $env:GITHUB_PATH 'C:\Program Files\Mercurial' Add-Content $env:GITHUB_PATH 'C:\Program Files\SlikSvn\bin' - name: Versions diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 20db273..ef3427b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,7 +43,13 @@ jobs: if: runner.os == 'Windows' shell: pwsh run: | - choco install -y --no-progress hg sliksvn + # The community feed answers 503 now and then; a failed choco must fail the step, not the next one. + for ($attempt = 1; $attempt -le 3; $attempt++) { + choco install -y --no-progress hg sliksvn + if ($LASTEXITCODE -eq 0) { break } + if ($attempt -eq 3) { throw "choco install failed $attempt times (last exit code $LASTEXITCODE)" } + Start-Sleep -Seconds (30 * $attempt) + } Add-Content $env:GITHUB_PATH 'C:\Program Files\Mercurial' Add-Content $env:GITHUB_PATH 'C:\Program Files\SlikSvn\bin' - name: Versions diff --git a/README.md b/README.md index da22cf2..cf2dea1 100644 --- a/README.md +++ b/README.md @@ -146,8 +146,7 @@ An authentication failure is reported with one hint naming the fix for that back ## Future -Design only, not built here: a SysML-rendered index; LSP integration; attestation / cosign of -releases; any server. +Design only, not built here: a SysML-rendered index; LSP integration; any server. ## Licence diff --git a/changes/unreleased/choco-retry.fixed.md b/changes/unreleased/choco-retry.fixed.md new file mode 100644 index 0000000..2cf488e --- /dev/null +++ b/changes/unreleased/choco-retry.fixed.md @@ -0,0 +1 @@ +- The Windows CI and release gates retry a failed Chocolatey install of `hg` and `sliksvn` and fail that step itself, instead of letting a transient feed error surface as `svn: command not found` later.