aws-samples / aws-samples/sample-autonomous-cloud-coding-agents

perf(ci): investigate Free Disk Space step — 47-67% of pre-build overhead — follow-up to #363

オープン
#685 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

ci-cd enhancement
主要言語
TypeScript
スター
146
フォーク
46
平均マージ
3日 10時間
マージ済み PR(30日)
24

説明

Parent: #363 (build-performance umbrella). Surfaced by the measured re-review of PR #364 (@theagenticguy); needs maintainer approved before implementation (ADR-003).

Finding — the dominant, addressable pre-build cost

From authoritative per-step timings (gh api repos/.../actions/jobs/<id> .steps[].started_at/completed_at, not log arithmetic), the Free Disk Space step is 47–67% of the entire job-start → build pre-work:

Run job Free Disk Space job start → build share
30412723686 90452344735 148s 220s 67%
30419878840 90474296240 97s 179s 54%
30418865914 90471207016 75s 158s 47%

One sudo rm -rf step is roughly half the per-job overhead that the shard math (#675) treats as irreducible. It also deletes /opt/hostedtoolcache, after which Setup Node.js re-downloads Node 22.23.1 (Acquiring 22.23.1 … Adding to the cache) — only ~4–5s, so a smell rather than a cost, but the step pays ~100s to delete a tool cache it immediately needs part of back.

Scope — run the experiment the doc's own measurement protocol demands

  • Not claiming the step is unnecessary — no ENOSPC evidence was seen in sampled logs, and absence of evidence is not proof the build fits without it.
  • Experiment: drop the step (or narrow it to /usr/local/lib/android + /usr/share/dotnet, keeping /opt/hostedtoolcache), then report peak disk and 4-core wall time before/after with run IDs.
  • If safe, this is the single highest-value CI change measured so far.

Why it leads

Cutting this drops fixed_overhead from ~120–220s toward ~60–100s — which is the one change that could make sharding (#675) worth re-costing before its ~250s trigger fires. So it sequences ahead of everything else.

Sequence (see re-ranked comment on #363)

#(this) Free Disk Space → #677 runner → #678 path-filter → #676 coverage → #684 cache-investigation → #675 shard (deferred).

Refs #363

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

GitHub Actions ジョブの Free Disk Space ステップから始め、gh api repos/.../actions/jobs/<id> を使用して、引用されている実行の信頼できるステップ時間を調べます。/opt/hostedtoolcache を維持したまま、ステップを削除するか、/usr/local/lib/android/usr/share/dotnet に限定するテストを行います。完了とは、実行 ID とともに、変更前後のディスク使用量のピークと 4 コアでの wall time を報告することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github-actions, shell
領域
ci-cd, performance
issue の種類
リファクタリング
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。