2017-03-08 7 views
0

私たちは、Githubに複数のブランチを持つac/C++ベースのレポをホストしています。CIを実行している間、通常は各統合ビルドで平均10個のプルリクエストがあります。どちらの混乱が起きたかを把握するために、統合されたすべてのPRでそれを追跡してください。私はそれをプログラマティックに働かせて、どのプル要求がビルドに失敗するかを知ることができます。この問題を解決する最良の方法は何か。githubプルリクエストに戻るトラッキングエラー

私が言及していたことを忘れたことは、各PRが個別にビルドされ、機能ブランチにマージされる前にテスト済みであることです。

ありがとうございました。

答えて

0

最善のアプローチは少しあなたのプロセスを変更し、唯一のプル要求のマージを可能にすることです:(統合テストの実行を含む)エラーなし

  1. ビルド
  2. はあなたの先端に収まるようにリベースされています

ブランチはエラーなしでビルドされ、最新のマスターにリベースされているため、マージするとマスターが破られることはありません。一見矛盾していないブランチのないブランチは、矛盾のアルゴリズムが非常に単純であるため、直接関連するファイルではない変更がお互いに矛盾する場合にも、問題を破ります。

gitには、それぞれのリベースの後にコマンドを実行するための対話型リベース中に使用できるオプションがあります(execオプション)。つまり、あなたのブランチを既知の動作状態に戻してからgitに順番に各コミットを適用させ、すべてがexecオプションでテストに合格するかどうかをチェックするコマンドを実行することができます。

このようにして、どのコミットがテストを壊したかを自動的に検出することができます。

関連する問題