more
This commit is contained in:
Vendored
+64
-34
@@ -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()
|
||||
})
|
||||
Reference in New Issue
Block a user