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

未关闭
#3,367 2 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@mbg 已经在做这个了。

开始于 2025年12月16日。

评估

这个 Issue 还没有评估数据。

描述

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 👆

主要语言
TypeScript
星标
1.6k
派生
493
平均合并
1 天 13 小时
30 天内合并 PR
44

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

github/codeql-action 的其他 Issue

查看 github/codeql-action 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。