actions / actions/toolkit

artifact `Unable to make request` message should suggest checking githubstatus.com for non self-hosted runners

Open
#2,225 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
5.9k
Forks
1.8k
PR merge metrics
No merged PRs in 30d

Description

https://github.com/actions/toolkit/blob/2506e78e82fbd2f9e94d63e75f5309118c8de1b1/packages/artifact/src/internal/shared/errors.ts#L43
 

Perl
Failed to CreateArtifact: Unable to make request: ETIMEDOUT
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github

That's a cute error message, but I'm not using self-hosted runners, so it isn't helpful.

The job run had another error earlier:

#   Failed test 'apply.pl (stdout) expired'
#   at t/apply.t line 112.
#          got: 'SPELLCHECKER/apply.pl: Timeout connecting to GitHub this is probably an outage of sorts.
# Check https://www.githubstatus.com/history
# Try again later.'
#     expected: 'SPELLCHECKER/apply.pl: GitHub Run Artifact expired. You will need to trigger a new run.
# '

#   Failed test 'apply.pl (exit code) expired'
#   at t/apply.t line 114.
#          got: '9'
#     expected: '1'
# Looks like you failed 2 tests of 17.

If apply.pl was being run normally, that would have rendered as:

apply.pl: Timeout connecting to GitHub this is probably an outage of sorts.
Check https://www.githubstatus.com/history
Try again later.

Which feels like a better error message than "If you are using self-hosted runners, ..." for systems that aren't self-hosted.
Especially, since, it's probably possible for a runner to know if it's self-hosted.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at packages/artifact/src/internal/shared/errors.ts line 43 and inspect how the artifact request error is assembled. Compare the current self-hosted-runner guidance with the linked non-self-hosted failure and the githubstatus.com example. Done means the message gives relevant outage guidance for non-self-hosted runners while retaining appropriate self-hosted guidance.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, typescript
Domain
ci-cd, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.