生成AI
エラーメッセージの文字列判定をやめて、AppErrorに一本化する新着!!

エラーメッセージの文言を見て、HTTPステータスコードを判定するコードを書いたことはないでしょうか。

続きを読む
生成AI
夜間監視の自動起票が『同じ原因なのに量産される』を止めた話新着!!

夜間に自動実行される監視ジョブが失敗するたびに、GitHub Issueを自動起票する仕組みは便利です。

続きを読む
生成AI
『overlapping act() calls』から学ぶ、React Testing Library × fake timer × MSWの罠新着!!

あるプロジェクトで、統合テスト52件のうち23件が失敗している状態が放置されていたことがあります。厄介だったのは、失敗自体ではなく「そのテストコマンドがどのCIからも呼ばれていなかった」ことでした。テストが壊れていることと、そもそも実行されていないことという二重の見落としが重なっていたわけです。

続きを読む
生成AI
Playwrightでwebkitだけ落ちるE2Eを直す: cold-load nav-stallをin-contextで復帰させる新着!!

Playwrightでnightly E2Eを回していると、特定のブラウザだけが断続的に失敗する、というケースに出くわすことがあります。特にwebkitは他のブラウザと挙動が違う場面が多く、`page.goto`や`page.reload`が`waitUntil: 'commit'`(HTTPレスポンスヘッダを受信するフェーズ)でタイムアウトし、そのままブラウザが応答しなくなる、いわゆる「wedg

続きを読む
生成AI
Next.js 16 Cache Componentsで踏んだ2つの罠——キャッシュの反映遅延とE2Eの多重ヒット新着!!

Next.js 16 の Cache Components を有効にしたアプリで、性質の異なる2つの不具合に同時に遭遇したことがあります。

続きを読む
生成AI
CIのクリティカルパスを壊さずにsqliteで時系列メトリクスを蓄積する設計新着!!

CIホストのようなインフラでは、「ジョブの取得・解放」や「死活監視」といったクリティカルパスに手を加えるのはとてもリスクが高い作業です。ログに障害の兆候を出力するだけなら簡単ですが、「Dockerイメージの容量が右肩上がりになっていないか」「同時実行の枠が足りているか」といったトレンドを判断するには、時系列で数値を蓄積する仕組みが必要になります。

続きを読む
生成AI
fix(ci): macOS Lighthouse の NO_FCP を背景化抑止フラグで解消する新着!!

macOSでのLighthouse CIにおける`NO_FCP`エラーは、アプリの問題ではなく、OSがヘッドレスウィンドウを非可視扱いにしてVSYNCを止めるのが原因。本記事では原因特定とChromeの起動フラグによる解決、CI構成での不安定なチェックの扱い方を解説します。

続きを読む
生成AI
npm未publishの内部パッケージをvendoringで配る:取り込み元の追跡と改変検知を自動化する設計

npmにもGitHub Packagesにも公開しない方針の社内限定ライブラリを、複数のリポジトリが `vendor/` 配下に手でコピーして参照する構成は珍しくありません。ただし手コピーには弱点があります。どのコミットから持ってきたコードなのか、コピーしたあとに誰かが手を加えていないか、を追跡する手段がどこにもないのです。

続きを読む
生成AI
デプロイ後スモークテストの「全断」誤判定、原因は失敗理由をひとまとめに扱っていたこと

デプロイ後に自動で「サイトが生きているか」を確認するスモークテストの話です。「サイト全断」と「バージョン未反映」を同じ失敗として扱うと、アラートが緊急度を正しく伝えられなくなります。失敗理由の文字列パターンによる分類と、期待バージョンの取得元の見直しで、この誤判定を防いだ設計を紹介します。

続きを読む
E2Eテスト
E2Eテストの「検疫タグ」運用を形骸化させない設計

E2Eの検疫タグ運用は、隔離した瞬間より隔離し続ける間の設計が重要です。追跡Issueの定数化や実測値ベースの剥奪判定で、隔離の形骸化を防ぐ方法を解説します。

続きを読む