Microsoft Edge Add-ons API server (v1) giving 5xx errors for past week. #154
-
For the extension Ruffle (https://microsoftedge.microsoft.com/addons/detail/ruffle-flash-emulator/pipjjbgofgieknlpefmcckdmgaaegban), we have a GitHub Action that attempts to publish the extension every night that the code changes (https://github.com/ruffle-rs/ruffle/blob/master/.github/workflows/release_nightly.yml#L443-L455) using https://github.com/wdzeng/edge-addon. Normally, if there is an in-progress submission, that action returns "Validation failed: InProgressSubmission", which is fine and the reason that step is set to continue on error. The last time that happened was just after May 17th at 00:00 UTC, as you can see in https://github.com/ruffle-rs/ruffle/actions/runs/9120757179. The last successful submission was May 12th just after 00:00 UTC, as you can see in https://github.com/ruffle-rs/ruffle/actions/runs/9047275198/job/24859012549#step:21:36 For the past week, that step has instead been encountering various 5xx errors, and I'm just wondering if there's been a change to the Microsoft Edge Add-ons API server (v1). These are the steps that encounter 5xx errors:
|
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
Just noticed the related issue #153 |
Beta Was this translation helpful? Give feedback.
-
Unrelated to the issue, but:
In my upload script I handle it with a "wait" function: def check_for_status(self, url: str, headers: Dict[str, str]):
"""
Waits for the upload/publish operation to complete
"""
while True:
try:
response = requests.get(url, headers=headers, timeout=10)
response.raise_for_status()
status = response.json().get("status")
if status != "InProgress":
break
logging.info("Status is still InProgress. Waiting for 5 seconds...")
time.sleep(5)
except (
requests.exceptions.Timeout,
requests.exceptions.RequestException,
) as err:
logging.error("Error occurred: %s", err)
raise Then I implement in the upload and publish functions: def upload_extension(self, package_path: str):
"""
Uploads the extension to Edge
"""
url = f"{self.api_endpoint}/v1/products/{self.product_id}/submissions/draft/package"
headers = {
"Authorization": f"Bearer {self.fetch_access_token().access_token}",
"Content-Type": "application/zip",
}
response = super().upload_extension(
url, headers, package_path, method=requests.post
)
operation_id = response.headers.get("Location")
check_status_url = f"{self.api_endpoint}/v1/products/{self.product_id}/submissions/draft/package/operations/{operation_id}"
super().check_for_status(check_status_url, headers)
response_status = requests.get(check_status_url, headers=headers)
logging.info(response_status.text) This way you don't have to continue on error. Just a suggestion of course :) |
Beta Was this translation helpful? Give feedback.
-
Should be fixed now. |
Beta Was this translation helpful? Give feedback.
-
The 500 error is back: https://github.com/ruffle-rs/ruffle/actions/runs/9508394385/job/26209627101#step:21:23 Edit: Fixed again. |
Beta Was this translation helpful? Give feedback.
-
@danielhjacobs hit them |
Beta Was this translation helpful? Give feedback.
Should be fixed now.