actions / actions/deploy-pages
Add rough error handler for Octokit response parsing failures to `1.x` and `2.x` release
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 953
- Forks
- 143
- Avg merge
- 35m
- Merged PRs (30d)
- 1
Description
This is intended as the 1.x and 2.x equivalent to shipping:
- #258
Addressing #258 will resolve misleading error scenarios where the error message that shows up in the Actions logs says something like HttpError: invalid json response body and reason: Unexpected end of JSON input. This occurs when Octokit receives a response with an error code (e.g. 400) but the accompanying response text is either not JSON-compatible for parsing, or is just not provided at all (empty).
This was resolved in Octokit with the following PR:
However, the subsequent Octokit release is not compatible with Node 16.x, and therefore cannot be pulled in as a dependency until we merge #256 and cut a new 3.x release.
Sadly, a new 3.x release won't help all of our GHES customers.
Therefore, we should consider implementing a rough workaround fix (i.e. a catch watching for this exact error) in this scenario so we log fewer "red herring" error messages. 🐟
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing #258 and the linked request.js PR 648, then locate the response-parsing path used by the 1.x and 2.x releases. Confirm how Node 16 compatibility constrains the workaround; done means non-JSON or empty error responses no longer produce misleading parsing errors in Actions logs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- api, devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100