Skip to content

ci: dotnet test失敗時の調査資料を保存し既存テストを修復する - #21

Merged
ssaattww merged 8 commits into
mainfrom
agent/dotnet-test-failure-artifacts
Jul 18, 2026
Merged

ci: dotnet test失敗時の調査資料を保存し既存テストを修復する#21
ssaattww merged 8 commits into
mainfrom
agent/dotnet-test-failure-artifacts

Conversation

@ssaattww

@ssaattww ssaattww commented Jul 18, 2026

Copy link
Copy Markdown
Member

概要

dotnet test をGitHub Actionsで常時実行し、失敗時に原因調査に必要な資料をartifactへ保存します。CI導入で検出された既存テスト4件の不整合も修正し、全体テストが成功する状態へ戻しました。

CI変更

  • PR、mainへのpush、手動実行で Tracker/Tracker.Tests/Tracker.Tests.csproj を実行
  • テスト結果をTRXで保存
  • dotnet testの標準出力と標準エラーを別ファイルで保存
  • VSTest診断ログ、blame出力、MSBuildバイナリログを保存
  • テスト終了コードと.NET・Git・submoduleの実行環境情報を保存
  • リポジトリとsubmoduleの追跡済みファイル一式をsource.tar.gzへ保存
  • 診断資料はテスト失敗時だけ14日間artifactとして保存
  • artifactのアップロード後もテスト失敗をジョブ結果へ反映

既存テスト修復

  • Tracker.DebugHost/appsettings.jsonのtracker receiver既定値をdefault-off契約へ戻した
  • runtime登録テストが分離後のTracker.DebugHost assemblyを検査するよう修正した
  • CaptureOn sessionテスト用factoryへDebugHost側のrender snapshot / diagnostics artifact配線を戻した
  • future snapshotテストのcapture-time基準日をsession fixtureと一致させた

Artifact内容

  • dotnet-test.trx
  • dotnet-test.stdout.log
  • dotnet-test.stderr.log
  • dotnet-test.binlog
  • vstest-diagnostics.log
  • dotnet-test.exit-code
  • environment.txt
  • source.tar.gz
  • VSTestが失敗時に生成した追加ファイル

検証

  • 最終GitHub ActionsのRun dotnet testは成功
  • 成功時はfailure diagnostics収集とartifact uploadがスキップされることを確認
  • 修正前の失敗実行では、TRX、標準出力・標準エラー、binlog、診断ログ、環境情報、source archiveを含むartifactの生成・アップロードを確認

対象外

  • PR #20の文書・lint変更

@ssaattww ssaattww changed the title ci: dotnet test失敗時の調査資料を保存する ci: dotnet test失敗時の調査資料を保存し既存テストを修復する Jul 18, 2026
@ssaattww
ssaattww marked this pull request as ready for review July 18, 2026 13:36
@ssaattww
ssaattww merged commit 00b037a into main Jul 18, 2026
1 check passed
@ssaattww
ssaattww deleted the agent/dotnet-test-failure-artifacts branch July 18, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant