This commit is contained in:
2026-06-22 23:47:36 +09:30
parent 1be7b69c5f
commit 0b59ae204a
7 changed files with 190 additions and 117 deletions
+64 -34
View File
@@ -1,99 +1,129 @@
import jetbrains.buildServer.configs.kotlin.*
import jetbrains.buildServer.configs.kotlin.buildSteps.powerShell
import jetbrains.buildServer.configs.kotlin.buildSteps.script
version = "2026.1"
project {
description = "Unity CI (Windows + Android + extensible)"
description = "Unity CI - isolated platform builds"
buildType(UnityBuildCore)
buildType(WindowsBuild)
buildType(AndroidBuild)
buildType(MacBuild)
buildType(IOSBuild)
}
/**
* CORE BUILD (only place Unity runs)
* WINDOWS (also builds Android on Windows agent)
*/
object UnityBuildCore : BuildType({
object WindowsBuild : BuildType({
name = "Unity Build (Core)"
name = "Unity - Windows (Agent: Windows)"
vcs {
root(DslContext.settingsRoot)
}
params {
param("unity.target", "")
param("unity.target", "Windows")
}
steps {
powerShell {
name = "Build Windows"
scriptMode = file {
path = "ci/Build-Windows.ps1"
}
scriptArgs = "-Target Windows"
}
}
artifactRules = """
Builds/Windows/** => windows.zip
""".trimIndent()
})
/**
* ANDROID (Windows agent)
*/
object AndroidBuild : BuildType({
name = "Unity - Android (Agent: Windows)"
vcs {
root(DslContext.settingsRoot)
}
steps {
powerShell {
name = "Run Unity Build"
name = "Build Android"
scriptMode = file {
path = "ci/Build-Unity.ps1"
path = "ci/Build-Windows.ps1"
}
// SAFE: always passed from dependency configs
scriptArgs = "-Target %unity.target%"
scriptArgs = "-Target Android"
}
}
artifactRules = """
Builds/** => builds.zip
Builds/Android/** => android.zip
""".trimIndent()
})
/**
* WINDOWS BUILD
* MAC (macOS agent)
*/
object WindowsBuild : BuildType({
object MacBuild : BuildType({
name = "Unity - Windows"
params {
param("unity.target", "Windows")
}
name = "Unity - Mac (Agent: Mac)"
vcs {
root(DslContext.settingsRoot)
}
dependencies {
snapshot(UnityBuildCore) {
onDependencyFailure = FailureAction.FAIL_TO_START
steps {
script {
name = "Build Mac"
scriptContent = """
chmod +x ci/Build-Mac.sh
./ci/Build-Mac.sh Mac
""".trimIndent()
}
}
artifactRules = """
Builds/Windows/** => WindowsBuild.zip
Builds/Mac/** => mac.zip
""".trimIndent()
})
/**
* ANDROID BUILD
* iOS (macOS agent)
*/
object AndroidBuild : BuildType({
object IOSBuild : BuildType({
name = "Unity - Android"
params {
param("unity.target", "Android")
}
name = "Unity - iOS (Agent: Mac)"
vcs {
root(DslContext.settingsRoot)
}
dependencies {
snapshot(UnityBuildCore) {
onDependencyFailure = FailureAction.FAIL_TO_START
steps {
script {
name = "Build iOS"
scriptContent = """
chmod +x ci/Build-Mac.sh
./ci/Build-Mac.sh iOS
""".trimIndent()
}
}
artifactRules = """
Builds/Android/** => AndroidBuild.zip
Builds/iOS/** => ios.zip
""".trimIndent()
})