Add retry logic to Copilot CLI installation#11283
Conversation
- Create install_copilot_cli.sh with exponential backoff retry - Update copilot_srt.go to use shell script instead of inline install - Recompile all workflows to use new installation method Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
Smoke Test ResultsPRs: #11293, #11269 Status: PASS
|
|
GitHub MCP (last 2 merged PRs: "[docs] Unbloat deterministic-agentic-patterns.md documentation", "Add bootstrap and worker metadata for zero-discovery campaign initialization"): ✅
|
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Smoke Test Results - Claude Engine ✅ GitHub MCP Status: PASS Last 2 merged PRs:
|
Copilot CLI installation fails intermittently when downloading the installer script from GitHub due to transient network errors.
Changes
actions/setup/sh/install_copilot_cli.sh: Shell script with 3-attempt exponential backoff retry (5s, 10s delays)pkg/workflow/copilot_srt.go: Replaced inline bash installation (14 YAML lines) with script invocation (2 lines)Before/After
Before (inline in generated YAML):
After:
The script follows existing retry patterns in the codebase (
download_docker_images.sh) and is automatically deployed via the setup action.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
4d63.com/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)cloud.google.com/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)codeberg.org/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)dev.gaijin.team/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)gitlab.com/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)go-simpler.org/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)go.augendre.info/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)go.googlesource.com/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)go.opentelemetry.io/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)go.uber.org/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)go.yaml.in/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)google.golang.org/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)gopkg.in/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)honnef.co/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)mvdan.cc/update-job-proxy /update-job-proxy s/,/_/g test sed -e ity_-_G4.pem -e test -e s/,/_/g /usr/local/sbin/--root sed -e ntrust.net_Premi/run/containerd/io.containerd.runtime.v2.task/moby/d59c5210c509f30c360aeca0d0e8f/usr/lib/networkd-dispatcher/routable.d/chrony-onoffline -e /usr/local/sbin/json -e s/,/_/g est test(dns block)/update-job-proxy /update-job-proxy ACCEPT ps /usr/lib/git-corREDACTED --sh�� er er /usr/bin/git ock %H %ct %D 3ccabc9770b1188f--unshallow /usr/bin/git cat-�� e/vcs/6e18cbff36266c74e48dd81b4b672026ac74fb69c8--stdin aa810b61a9c79d51363740d207bb46cf8e620ed5:go.mod e/git 848d042b3adcaa1c/usr/sbin/iptables /usr/lib/git-cor--wait e/git e/git(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.
Changeset