『overlapping act() calls』から学ぶ、React Testing Library × fake timer × MSWの罠新着!!
あるプロジェクトで、統合テスト52件のうち23件が失敗している状態が放置されていたことがあります。厄介だったのは、失敗自体ではなく「そのテストコマンドがどのCIからも呼ばれていなかった」ことでした。テストが壊れていることと、そもそも実行されていないことという二重の見落としが重なっていたわけです。
Playwrightでwebkitだけ落ちるE2Eを直す: cold-load nav-stallをin-contextで復帰させる新着!!
Playwrightでnightly E2Eを回していると、特定のブラウザだけが断続的に失敗する、というケースに出くわすことがあります。特にwebkitは他のブラウザと挙動が違う場面が多く、`page.goto`や`page.reload`が`waitUntil: 'commit'`(HTTPレスポンスヘッダを受信するフェーズ)でタイムアウトし、そのままブラウザが応答しなくなる、いわゆる「wedg
CIのクリティカルパスを壊さずにsqliteで時系列メトリクスを蓄積する設計新着!!
CIホストのようなインフラでは、「ジョブの取得・解放」や「死活監視」といったクリティカルパスに手を加えるのはとてもリスクが高い作業です。ログに障害の兆候を出力するだけなら簡単ですが、「Dockerイメージの容量が右肩上がりになっていないか」「同時実行の枠が足りているか」といったトレンドを判断するには、時系列で数値を蓄積する仕組みが必要になります。
fix(ci): macOS Lighthouse の NO_FCP を背景化抑止フラグで解消する新着!!
macOSでのLighthouse CIにおける`NO_FCP`エラーは、アプリの問題ではなく、OSがヘッドレスウィンドウを非可視扱いにしてVSYNCを止めるのが原因。本記事では原因特定とChromeの起動フラグによる解決、CI構成での不安定なチェックの扱い方を解説します。
npm未publishの内部パッケージをvendoringで配る:取り込み元の追跡と改変検知を自動化する設計
npmにもGitHub Packagesにも公開しない方針の社内限定ライブラリを、複数のリポジトリが `vendor/` 配下に手でコピーして参照する構成は珍しくありません。ただし手コピーには弱点があります。どのコミットから持ってきたコードなのか、コピーしたあとに誰かが手を加えていないか、を追跡する手段がどこにもないのです。
デプロイ後スモークテストの「全断」誤判定、原因は失敗理由をひとまとめに扱っていたこと
デプロイ後に自動で「サイトが生きているか」を確認するスモークテストの話です。「サイト全断」と「バージョン未反映」を同じ失敗として扱うと、アラートが緊急度を正しく伝えられなくなります。失敗理由の文字列パターンによる分類と、期待バージョンの取得元の見直しで、この誤判定を防いだ設計を紹介します。
E2Eテストの「検疫タグ」運用を形骸化させない設計
E2Eの検疫タグ運用は、隔離した瞬間より隔離し続ける間の設計が重要です。追跡Issueの定数化や実測値ベースの剥奪判定で、隔離の形骸化を防ぐ方法を解説します。










