|
33 | 33 | - main |
34 | 34 | - release/* |
35 | 35 | - dev/* |
36 | | - pull_request: |
| 36 | + pull_request_target: |
37 | 37 | branches: |
38 | 38 | - main |
39 | 39 | - release/* |
@@ -167,41 +167,55 @@ jobs: |
167 | 167 |
|
168 | 168 | {% endraw %} |
169 | 169 |
|
| 170 | + - name: Generate Token |
| 171 | + id: app-token |
| 172 | + uses: actions/create-github-app-token@v2 |
| 173 | + with: |
| 174 | + app-id: ${{ vars.MU_ACCESS_APP_ID }} |
| 175 | + private-key: ${{ secrets.MU_ACCESS_APP_PRIVATE_KEY }} |
| 176 | + owner: ${{ github.repository_owner }} |
| 177 | + |
170 | 178 | - name: Get Cargo Tool Details |
171 | 179 | id: get_cargo_tool_details |
172 | 180 | shell: python |
| 181 | + env: |
| 182 | + AUTH_TOKEN: ${{ steps.app-token.outputs.token }} |
173 | 183 | run: | |
174 | 184 | import os |
175 | 185 | import requests |
176 | 186 | import sys |
177 | 187 | import time |
178 | 188 |
|
179 | | - def get_response_with_retries(url, retries=5, wait_time=10): |
| 189 | + def get_response_with_retries(url, headers, retries=5, wait_time=10): |
180 | 190 | for attempt in range(retries): |
181 | | - response = requests.get(url) |
| 191 | + response = requests.get(url, headers=headers) |
182 | 192 | if response.status_code == 200: |
183 | 193 | return response |
184 | | - print(f"::warning title=GitHub API Access Error!::Attempt {attempt + 1} failed. Retrying in {wait_time} seconds...") |
| 194 | + print(f"::warning title=GitHub API Access Error!::Attempt {attempt + 1} failed ({response.status_code}). Retrying in {wait_time} seconds...") |
185 | 195 | time.sleep(wait_time) |
186 | 196 | return response |
187 | 197 |
|
188 | 198 | GITHUB_REPO = "sagiegurari/cargo-make" |
189 | 199 | api_url = f"https://api.github.com/repos/{GITHUB_REPO}/releases/tags/{{ sync_version.cargo_make }}" |
| 200 | + headers = { |
| 201 | + "Authorization": f"Bearer {os.environ['AUTH_TOKEN']}", |
| 202 | + "Accept": "application/vnd.github.v3+json" |
| 203 | + } |
190 | 204 |
|
191 | | - response = get_response_with_retries(api_url) |
| 205 | + response = get_response_with_retries(api_url, headers) |
192 | 206 | if response.status_code == 200: |
193 | 207 | build_release_id = response.json()["id"] |
194 | 208 | else: |
195 | | - print("::error title=GitHub Release Error!::Failed to get cargo-make release ID!") |
| 209 | + print(f"::error title=GitHub Release Error!::Failed to get cargo-make release ID! ({response.status_code})") |
196 | 210 | sys.exit(1) |
197 | 211 |
|
198 | 212 | api_url = f"https://api.github.com/repos/{GITHUB_REPO}/releases/{build_release_id}" |
199 | 213 |
|
200 | | - response = get_response_with_retries(api_url) |
| 214 | + response = get_response_with_retries(api_url, headers) |
201 | 215 | if response.status_code == 200: |
202 | 216 | latest_cargo_make_version = response.json()["tag_name"] |
203 | 217 | else: |
204 | | - print("::error title=GitHub Release Error!::Failed to get cargo-make!") |
| 218 | + print(f"::error title=GitHub Release Error!::Failed to get cargo-make! ({response.status_code})") |
205 | 219 | sys.exit(1) |
206 | 220 |
|
207 | 221 | cache_key = f'cargo-make-{latest_cargo_make_version}' |
|
0 commit comments