'init' action doesn't seem to retry on socket exceptions and network hiccups

Open
#3,367 2 comments 0 reactions 1 assignee View on GitHub

@mbg is already working on this.

Since Dec 16, 2025.

Assessment

This issue has not been assessed yet.

Description

enhancement

Using github/codeql-action/init@v4 in our CodeQL Advanced workflow like this:

- name: Initialize CodeQL
  uses: github/codeql-action/init@v4
  with:
    languages: ruby
    build-mode: none
    config-file: ./.github/codeql.yml
# ./.github/codeql.yml

paths-ignore:
  - path/to/file1.rb
  - path/to/file2.rb

I randomly received the following error today (December 16), which by the look of it was using tag v4.31.8 released on December 12:

/usr/bin/tar --version
tar (GNU tar) 1.35
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
Found gnu tar version 1.35.
Did not find CodeQL tools version 2.23.8 in the toolcache.
Using CodeQL CLI version 2.23.8 sourced from https://github.com/github/codeql-action/releases/download/codeql-bundle-v2.23.8/codeql-bundle-linux64.tar.zst .
Downloading CodeQL tools from https://github.com/github/codeql-action/releases/download/codeql-bundle-v2.23.8/codeql-bundle-linux64.tar.zst . This may take a while.
Streaming the extraction of the CodeQL bundle.
node:events:486
      throw er; // Unhandled 'error' event
      ^

Error: socket hang up
    at TLSSocket.socketOnEnd (node:_http_client:598:25)
    at TLSSocket.emit (node:events:520:35)
    at endReadableNT (node:internal/streams/readable:1701:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
Emitted 'error' event on Writable instance at:
    at eventHandlers.<computed> (/home/runner/work/_actions/github/codeql-action/v4/lib/init-action.js:81114:28)
    at ClientRequest.emit (node:events:508:28)
    at emitErrorEvent (node:_http_client:107:11)
    at TLSSocket.socketOnEnd (node:_http_client:598:5)
    at TLSSocket.emit (node:events:520:35)
    at endReadableNT (node:internal/streams/readable:1701:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
  code: 'ECONNRESET'
}

Node.js v24.10.0

A manual retry fixed the issue, but it would be great if the task itself could retry on retriable failures and network hiccups like ECONNRESET 👆

Dominant language
TypeScript
Stars
1.6k
Forks
493
Avg merge
1d 13h
Merged PRs (30d)
44

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.

More from github/codeql-action

All issues in github/codeql-action

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.