4343 gather_packages :
4444 name : Gather Repo Packages
4545 runs-on : ubuntu-latest
46+ permissions :
47+ contents : read
4648 outputs :
4749 packages : ${{ steps.generate_matrix.outputs.packages }}
4850
@@ -165,38 +167,44 @@ jobs:
165167 - name : Get Cargo Tool Details
166168 id : get_cargo_tool_details
167169 shell : python
170+ env :
171+ AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
168172 run : |
169173 import os
170174 import requests
171175 import sys
172176 import time
173177
174- def get_response_with_retries(url, retries=5, wait_time=10):
178+ def get_response_with_retries(url, headers, retries=5, wait_time=10):
175179 for attempt in range(retries):
176- response = requests.get(url)
180+ response = requests.get(url, headers=headers )
177181 if response.status_code == 200:
178182 return response
179- print(f"::warning title=GitHub API Access Error!::Attempt {attempt + 1} failed. Retrying in {wait_time} seconds...")
183+ print(f"::warning title=GitHub API Access Error!::Attempt {attempt + 1} failed ({response.status_code}) . Retrying in {wait_time} seconds...")
180184 time.sleep(wait_time)
181185 return response
182186
183187 GITHUB_REPO = "sagiegurari/cargo-make"
184188 api_url = f"https://api.github.com/repos/{GITHUB_REPO}/releases/tags/0.37.24"
189+ headers = {
190+ "Authorization": f"Bearer {os.environ['AUTH_TOKEN']}",
191+ "Accept": "application/vnd.github.v3+json"
192+ }
185193
186- response = get_response_with_retries(api_url)
194+ response = get_response_with_retries(api_url, headers )
187195 if response.status_code == 200:
188196 build_release_id = response.json()["id"]
189197 else:
190- print("::error title=GitHub Release Error!::Failed to get cargo-make release ID!")
198+ print(f "::error title=GitHub Release Error!::Failed to get cargo-make release ID! ({response.status_code}) ")
191199 sys.exit(1)
192200
193201 api_url = f"https://api.github.com/repos/{GITHUB_REPO}/releases/{build_release_id}"
194202
195- response = get_response_with_retries(api_url)
203+ response = get_response_with_retries(api_url, headers )
196204 if response.status_code == 200:
197205 latest_cargo_make_version = response.json()["tag_name"]
198206 else:
199- print("::error title=GitHub Release Error!::Failed to get cargo-make!")
207+ print(f "::error title=GitHub Release Error!::Failed to get cargo-make! ({response.status_code}) ")
200208 sys.exit(1)
201209
202210 cache_key = f'cargo-make-{latest_cargo_make_version}'
@@ -207,12 +215,18 @@ jobs:
207215 print(f'cargo_make_version={latest_cargo_make_version}', file=fh)
208216
209217
210- - name : Attempt to Load cargo-make From Cache
218+ # Temporarily disable caching cargo-make as it stopped working in some repos recently
219+ # and need to be investigated
220+ # - name: Attempt to Load cargo-make From Cache
221+ # id: cargo_make_cache
222+ # uses: actions/cache@v4
223+ # with:
224+ # path: ${{ steps.get_cargo_tool_details.outputs.cargo_bin_path }}
225+ # key: ${{ steps.get_cargo_tool_details.outputs.cargo_make_cache_key }}
226+
227+ - name : Force cargo-make cache miss
211228 id : cargo_make_cache
212- uses : actions/cache@v4
213- with :
214- path : ${{ steps.get_cargo_tool_details.outputs.cargo_bin_path }}
215- key : ${{ steps.get_cargo_tool_details.outputs.cargo_make_cache_key }}
229+ run : echo "cache-hit=false" >> $GITHUB_OUTPUT
216230
217231 - name : Download cargo-make
218232 if : steps.cargo_make_cache.outputs.cache-hit != 'true'
0 commit comments