From 7d383e69c1d180c453c4d4b397c34874cca9bb4c Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 26 Oct 2026 15:56:47 +0000 Subject: [PATCH] ci(agent): retry multi-pwsh install in the Linux agent image multi-pwsh lists PowerShell releases through the unauthenticated GitHub API, which answers 403 when the runner's shared address is rate limited. The agent tunnel end-to-end test builds this image, so a transient 403 failed the whole CI run. Retry the install with a growing delay; a persistent failure still fails the build. Changelog: ignore Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_018j3CKThrR2YAPG8LgRPVhG --- package/AgentLinux/Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package/AgentLinux/Dockerfile b/package/AgentLinux/Dockerfile index 80a8ad8ce3..9ca03a5134 100644 --- a/package/AgentLinux/Dockerfile +++ b/package/AgentLinux/Dockerfile @@ -51,7 +51,12 @@ RUN apt-get update \ RUN useradd --system --create-home --home-dir /var/lib/devolutions-agent --shell /usr/sbin/nologin devolutions-agent \ && mkdir -p "${DAGENT_CONFIG_PATH}" \ - && runuser -u devolutions-agent -- env HOME="${HOME}" multi-pwsh install "${MULTI_PWSH_POWERSHELL_VERSION}" \ + && for attempt in 1 2 3 4; do \ + runuser -u devolutions-agent -- env HOME="${HOME}" multi-pwsh install "${MULTI_PWSH_POWERSHELL_VERSION}" && break; \ + test "${attempt}" -lt 4 || exit 1; \ + echo "multi-pwsh install failed (attempt ${attempt}); retrying" >&2; \ + sleep $((attempt * 15)); \ + done \ && runuser -u devolutions-agent -- env HOME="${HOME}" multi-pwsh alias set pwsh "${MULTI_PWSH_POWERSHELL_VERSION}" \ && runuser -u devolutions-agent -- env HOME="${HOME}" multi-pwsh host pwsh -NoLogo -NoProfile -Command '$PSVersionTable.PSVersion.ToString()' \ && test -x "${HOME}/.pwsh/bin/pwsh"