Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 20 additions & 3 deletions .github/workflows/kotlin-prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,23 @@ jobs:
./gradlew -p integration-test build $KOTLIN_OVERRIDE
-x :gradle-integration:test -x :maven-integration:test
# 重いテストはローカル Maven の非タイムスタンプ SNAPSHOT を入力に持ち UP-TO-DATE 判定が
# 信用できないため --rerun で必ず再実行する(ci.yml と同じ理由)
- run: ./gradlew -p integration-test :gradle-integration:test --rerun $KOTLIN_OVERRIDE
- run: ./gradlew -p integration-test :maven-integration:test --rerun $KOTLIN_OVERRIDE
# 信用できないため --rerun で必ず再実行する(ci.yml と同じ理由)。
# 本ビルドは必須チェックではなく検出が目的であり、週 1 回しか回らない。先に落ちた 1 件で
# ジョブが止まると残りの検出が隠れ、1 回の実行で 1 件しか分からなくなる。2 つのテストは
# 互いに依存しないため、両方を走らせてから最後にまとめて判定する
- id: gradle_it
continue-on-error: true
run: ./gradlew -p integration-test :gradle-integration:test --rerun $KOTLIN_OVERRIDE
- id: maven_it
continue-on-error: true
run: ./gradlew -p integration-test :maven-integration:test --rerun $KOTLIN_OVERRIDE
- env:
GRADLE_IT: ${{ steps.gradle_it.outcome }}
MAVEN_IT: ${{ steps.maven_it.outcome }}
run: |
set -euo pipefail
echo "gradle-integration: $GRADLE_IT"
echo "maven-integration: $MAVEN_IT"
if [ "$GRADLE_IT" != success ] || [ "$MAVEN_IT" != success ]; then
exit 1
fi
4 changes: 4 additions & 0 deletions integration-test/gradle-integration/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import com.sun.management.OperatingSystemMXBean
import java.io.File
import java.lang.management.ManagementFactory
import java.util.Properties
import org.gradle.api.tasks.testing.logging.TestExceptionFormat

// Gradle TestKit ホスト(docs/test/テスト戦略.md §4)。
// resources/fixtures 配下の合成ビルドを GradleRunner で駆動し、IC 回帰・決定性・
Expand Down Expand Up @@ -138,5 +139,8 @@ tasks.test {
testLogging {
events("passed", "skipped", "failed")
showStandardStreams = false
// 既定の SHORT は例外の位置だけを出すため、アサーションが組み立てた診断一覧が落ちて
// 失敗の理由がログから読めない。CI の失敗はログだけが手掛かりなので全文を出す
exceptionFormat = TestExceptionFormat.FULL
}
}
4 changes: 4 additions & 0 deletions integration-test/maven-integration/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import java.util.Properties
import org.gradle.api.tasks.testing.logging.TestExceptionFormat

// Maven ビルドホスト(docs/test/テスト戦略.md §4)。
// resources/fixtures 配下の合成 Maven プロジェクトを実 Maven で駆動し、kotlin-maven-plugin の拡張
Expand Down Expand Up @@ -83,5 +84,8 @@ tasks.test {
testLogging {
events("passed", "skipped", "failed")
showStandardStreams = false
// 既定の SHORT は例外の位置だけを出すため、アサーションが組み立てた Maven 出力の抜粋が
// 落ちて失敗の理由がログから読めない。CI の失敗はログだけが手掛かりなので全文を出す
exceptionFormat = TestExceptionFormat.FULL
}
}
Loading