Skip to content

Commit 1da7e1f

Browse files
committed
feat: retry when setting up minikube fails
1 parent 0e7056e commit 1da7e1f

1 file changed

Lines changed: 48 additions & 2 deletions

File tree

setup-minikube/action.yml

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ outputs:
5757
runs:
5858
using: 'composite'
5959
steps:
60+
6061
- name: Enable port-forwarding
6162
shell: bash
6263
run: |
@@ -65,8 +66,53 @@ runs:
6566
sudo apt-get -y install socat
6667
echo "✅ Port-forwarding support enabled"
6768
68-
- name: Setup Minikube
69-
id: setup-minikube
69+
# Setup Minikube sometimes fails:
70+
#
71+
# ```
72+
# data: {
73+
# message: "API rate limit exceeded for 52.173.162.97. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
74+
# documentation_url: 'https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting'
75+
# }
76+
# ```
77+
#
78+
# I've added 3 retries:
79+
- name: Setup Minikube \#1
80+
id: setup-minikube-1
81+
uses: manusa/actions-setup-minikube@v2.13.0
82+
with:
83+
driver: ${{ inputs.driver }}
84+
minikube version: ${{ inputs.minikube-version }}
85+
kubernetes version: ${{ inputs.kubernetes-version }}
86+
start args: ${{ inputs.start-args }}
87+
continue-on-error: true
88+
89+
- name: Wait for retry \#2
90+
if: steps.setup-minikube-1.outcome == 'failure'
91+
shell: bash
92+
run: |
93+
echo "⚠️ Setup Minikube attempt #1 failed. Waiting to retry..."
94+
sleep 120s
95+
96+
- name: Setup Minikube \#2
97+
id: setup-minikube-2
98+
if: steps.setup-minikube-1.outcome == 'failure'
99+
uses: manusa/actions-setup-minikube@v2.13.0
100+
with:
101+
driver: ${{ inputs.driver }}
102+
minikube version: ${{ inputs.minikube-version }}
103+
kubernetes version: ${{ inputs.kubernetes-version }}
104+
start args: ${{ inputs.start-args }}
105+
continue-on-error: true
106+
107+
- name: Wait for retry \#3
108+
if: steps.setup-minikube-2.outcome == 'failure'
109+
shell: bash
110+
run: |
111+
echo "⚠️ Setup Minikube attempt #2 failed. Waiting to retry..."
112+
sleep 240s
113+
114+
- name: Setup Minikube \#3 (last retry)
115+
if: steps.setup-minikube-2.outcome == 'failure'
70116
uses: manusa/actions-setup-minikube@v2.13.0
71117
with:
72118
driver: ${{ inputs.driver }}

0 commit comments

Comments
 (0)