Repository navigation
ci: マイナー横断ビルドが 1 回の実行で全ての不適合を出すようにする - #97
Merged
Merged
Conversation
週 1 回しか回らない検出ビルドで先に落ちた 1 件がジョブを止めると、残りの検出が隠れて 1 回の実行から 1 件しか分からない。実際に 2.5.0-Beta1 / Beta2 の 2 回は :gradle-integration:test の失敗で停止し、:maven-integration:test は 2.5 系で 一度も走っていない(最後の完走は 2.4.20-RC3)。 2 つのテストは互いに依存しないため両方を走らせ、最後にまとめて判定する。 ci.yml は両者を別ジョブに分けており、判定の単位はそちらと揃う。 Changelog: none Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
testLogging の exceptionFormat は既定が SHORT で、例外の型と位置だけを出して メッセージを落とす。診断アサーションは期待した断片と実際の診断行一覧を メッセージへ組み立てており、これが出ないと CI の失敗からは 「どのアサーションが落ちたか」しか分からず、原因の切り分けにローカル再現が要る。 CI の失敗はログだけが手掛かりであるため全文を出す。 Changelog: none Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
週次のマイナー横断ビルド(
kotlin-prerelease.yml)が、1 回の実行で 1 件しか不適合を明かさない状態を直す。背景
直近 5 回の実行はいずれも失敗しており、原因は 2 つに分かれていた。
kotlinUpgradeYarnLockmacosX64()の非推奨が ERROR へ昇格(f5c31bf で解消済み):gradle-integration:testProbeGateTest#annotationNotationBehaviorIsPinned:gradle-integration:test後者 2 回はジョブがそこで止まるため
:maven-integration:testが走らず、2.5 系での maven 側は一度も検証されていない(最後の完走は 2.4.20-RC3)。また失敗の出力は
org.opentest4j.AssertionFailedError at ProbeGateTest.kt:28だけで、アサーションが組み立てた診断一覧が落ちており、原因の特定にローカル再現が必要だった。変更
kotlin-prerelease.yml: 重いテスト 2 件をcontinue-on-errorで独立させ、最後のステップでまとめて判定する。ci.yml は両者を別ジョブに分けており、判定の単位はそちらと揃うintegration-test/{gradle,maven}-integration/build.gradle.kts:testLogging.exceptionFormatをFULLにして失敗理由を全文出すプローブが落ちている件そのものは本 PR の対象外。実挙動固定プローブは上流の挙動が変わったら落ちる前提のものであり、Kotlin 2.5 では import 別名の
@Enumizeが述語に載って生成へ到達するようになった(typealias 表記は従来どおりエラー)。仕様・テストの移行は 2.5 採用時に行う。検証
runをファイルから取り出し、bash -eで 4 通りを空撃ち(success/success のみ exit 0、他は exit 1)exceptionFormatは単離した小プロジェクトで既定とFULLを比較し、既定では複数行のアサーションメッセージが落ちFULLでは出ることを実測./gradlew ktfmtFormat後に差分なし、両テストタスクの--dry-runが通る配布物は変わらないため CHANGELOG のエントリは無し(
Changelog: none)。🤖 Generated with Claude Code