Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

CI: probe-gate Playwright system-dep install (kill unconditional apt-get update per job)

クローズ
#570 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

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

評価

難易度
4/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
github-actions, typescript
領域
ci-cd

調査の方向性

Read .github/workflows/ci.yml and packages/everything-dev/src/services/scaffold/ownership.ts to understand the landed workflow change and why the file is framework-owned. Check ADR 0032 for the intended process for tying the local edit to the framework ship. Done means the framework-owned change can flow to generated children via bos sync, with actionlint passing.

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

説明

Context

The 2026-10-23 CI incidents (three runs killed at the job timeout stuck in "Install Playwright system deps"; see plan 056 Phase 5) were band-aided with bounded retries. Root cause left in place: playwright install-deps chromium runs apt-get update + install unconditionally — even when every package is already present — so every browser job (5 per run) exposes itself to the apt network surface.

Change (landed in this repo's ci.yml)

Both Playwright jobs (dev and start matrix) now:

  1. Browser install (cache miss) — playwright install chromium download-only; --with-deps dropped.
  2. Probe (always) — playwright install-deps chromium --dry-run → local apt-get install -s simulation (no update, no network, no root; verified in playwright-core 1.63 nativeDeps/reportMissingDependenciesLinux). Exit 0 = all present.
  3. Bounded real install (conditional) — the existing 240s x 3 retry loop now only runs when the probe reports a non-font missing package. Font packages are exempt: Playwright's launch-time validation (ldd) never checks them and the suites assert DOM text, not rendered glyphs. A probe failure with no package list (e.g. stale apt lists) degrades to the real install — same coverage as before, strictly less apt exposure.

Browsers remain cached on playwright-<OS>-<hashFiles(pnpm-lock.yaml)>; the probe list always derives from the installed Playwright version, so it stays in lockstep with the cache key.

Verification

  • actionlint (v1.7.7, same as the workflow-lint job) passes on all workflows.
  • First CI runs after landing double as the empirical probe of what the ubuntu-24.04 runner image ships: expect "Install Playwright system deps" skipped on all 5 browser jobs; the "Check Playwright system deps" log shows what (if anything) the image is missing.

Why filed here

.github/workflows/ci.yml is in the framework-owned inventory (packages/everything-dev/src/services/scaffold/ownership.ts), so this change flows outward to generated children via bos sync. Filed per ADR 0032 to keep the local edit and the framework ship tied together.

主要言語
TypeScript
スター
5
フォーク
3
平均マージ
9時間 32分
マージ済み PR(30日)
152

環境構築

はじめの一歩

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

NEARBuilders/everything-dev のほかの issue

NEARBuilders/everything-dev の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

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

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