--migrate-local-actions makes jobs download the whole repository archive, which times out in large repositories
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
Start by reading the README troubleshooting section for local-action and the help text for --migrate-local-actions; the issue names these as documentation targets. Then trace how local actions are migrated and how workflow dependencies are recorded. Done means documenting the archive download trade-off and adding an option that keeps ./ while recording the action’s remote dependencies; the optional repository size warning is separate.
索引モデルが issue の本文から書いたものです。
説明
After running gh actions-lock --migrate-local-actions in our large private repository, every job that uses a migrated $/… action fails in "Set up job". The runner seems to download an archive of the whole repository at the workflow's commit just to get a composite action under .github/actions/, and the download times out:
Using locked action versions from the workflow's lockfile
##[warning]Failed to download action 'https://codeload.github.com/<owner>/<repo>/tar.gz/<sha>'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
##[warning]Failed to download action 'https://codeload.github.com/<owner>/<repo>/tar.gz/<sha>'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
##[error]Action 'https://codeload.github.com/<owner>/<repo>/tar.gz/<sha>' download has timed out. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
##[error]Failed to download archive 'https://codeload.github.com/<owner>/<repo>/tar.gz/<sha>' after 3 attempts.
- It happens on both GitHub-hosted (
ubuntu-slim) and self-hosted (Windows, runner v2.338.2) runners. - In the same PR, jobs that only use remote actions ran fine with the lockfile. Only jobs with
$/actions failed. - Environment: gh-actions-lock v0.4.1, github.com.
I know the download itself happens in the runner, not in this extension. I'm filing it here because the extension and the docs steer users toward --migrate-local-actions, and for a large repository that makes the workflows unusable. The other option, --ignore-local-actions, needs a hand-written if: false stub in every affected workflow.
Requests:
- Document the trade-off. In the README, the troubleshooting
local-actionsection, and the--migrate-local-actionshelp, say that a$/action is fetched from a repository archive at the workflow's commit, so large repositories can be slow or time out. - Keep
./but lock what the in-repo action uses. Add an option that keepsuses: ./…, reads the action'saction.ymlfrom the repository at lock time, and records its remote dependencies as entries for the calling workflow. That would automate the documentedif: falsestub workaround. I understand that./resolves against the runner's workspace, so this is weaker than$/. For repositories where$/isn't practical, it would still be much easier to maintain than hand-written stubs. - (Optional) Warn when migrating in a large repository. For example, warn during
--migrate-local-actionswhen the repository size reported by the API is large.
Related discussion: https://github.com/orgs/community/discussions/194494
- 主要言語
- Go
- スター
- 295
- フォーク
- 21
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 64
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/gh-actions-lock のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
github/gh-actions-lock#271 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
github/gh-actions-lock#272 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
github/gh-actions-lock#267 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
github/gh-actions-lock#266 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
github/gh-actions-lock#264 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
github/gh-actions-lock の issue をすべて見る
似ている issue
-
agent-butler-finding bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
jordansmall/spindrift#6414 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Icinga/icinga-kubernetes#294 ·
メンテナーはふだん 4 日以内に返信
-
Cluster details: the Control Plane version field has a different border color than its icon boxオープンkind/design sig/ui
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
kubermatic/dashboard#8449 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
filecoin-project/curio#1632 ·
メンテナーはふだん 1 日以内に返信