actions / actions/toolkit

Client network socket disconnected before secure TLS connection was established

Open
#2,098 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Describe the bug

We've been having repeated CI failures (10+ in the last few days) where the toolkit is unable to fetch the ID token.

To Reproduce

Somewhat difficult to reproduce because it only happens sporadically. I do believe we've only noticed this since we moved to larger (and faster) GitHub-hosted runners. Those seem to be more prone to experience this error but I can't say for certain.

Expected behavior

Reliable CI.

Additional context

We have originally reported this issue in a downstream action. See https://github.com/google-github-actions/auth/issues/496. The troubleshooting there revealed that it is actually an error from the toolkit. Specifically from here: https://github.com/actions/toolkit/blob/683703c1149439530dcee7b8c5dbbfeec4104368/packages/core/src/oidc-utils.ts#L46-L64

Here are some test-runs where this failure occurred:

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 with packages/core/src/oidc-utils.ts at lines 46-64 and compare the failures reported in the linked downstream issue and CI run logs. Reproduce or characterize the intermittent TLS disconnect during ID-token fetching, then verify that CI can reliably obtain the token without this failure.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.