diff --git a/.teamcity/settings.kts b/.teamcity/settings.kts deleted file mode 100644 index d30417b..0000000 --- a/.teamcity/settings.kts +++ /dev/null @@ -1,192 +0,0 @@ -import jetbrains.buildServer.configs.kotlin.* - -version = "2026.1" - -project { - - description = "Unity CI pipeline with multi-target build fan-out" - - // ========================= - // CORE BUILD (shared logic) - // ========================= - buildType(UnityBuildCore) - - // ========================= - // TRIGGERED BUILDS (fan-out) - // ========================= - buildType(WindowsBuild) - buildType(AndroidBuild) - - // Future-ready (disabled until you enable them) - buildType(MacBuild) - buildType(IOSBuild) -} - -/** - * ========================= - * CORE UNITY BUILD PIPELINE - * ========================= - * This is the ONLY build that actually runs Unity. - * Everything else just sets parameters and depends on this. - */ -object UnityBuildCore : BuildType({ - - name = "Unity Build (Core)" - - description = "Runs Unity with a selected target" - - params { - - // Default fallback (should never be used in real triggers) - param("unity.target", "") - - // Optional CI metadata - param("build.configuration", "Release") - } - - vcs { - root(DslContext.settingsRoot) - } - - steps { - - powerShell { - name = "Run Unity Build" - scriptMode = file { - path = "ci/Build-Unity.ps1" - } - - scriptArgs = "-Target %unity.target%" - } - } - - features { - // Ensures build log is captured cleanly - feature { - type = "xml-report-plugin" - } - } - - artifactRules = """ - Builds/** => builds.zip - """.trimIndent() -}) - -/** - * ========================= - * WINDOWS BUILD ENTRYPOINT - * ========================= - * Triggered automatically on VCS changes - */ -object WindowsBuild : BuildType({ - - name = "Unity - Windows" - - description = "Build Windows standalone" - - params { - param("unity.target", "Windows") - } - - vcs { - root(DslContext.settingsRoot) - } - - steps { - // Snapshot dependency ensures correct ordering - } - - dependencies { - snapshot(UnityBuildCore) { - onDependencyFailure = FailureAction.FAIL_TO_START - } - } - - artifactRules = """ - Builds/Windows/** => WindowsBuild.zip - """.trimIndent() -}) - -/** - * ========================= - * ANDROID BUILD ENTRYPOINT - * ========================= - */ -object AndroidBuild : BuildType({ - - name = "Unity - Android" - - description = "Build Android AAB/APK" - - params { - param("unity.target", "Android") - } - - vcs { - root(DslContext.settingsRoot) - } - - dependencies { - snapshot(UnityBuildCore) { - onDependencyFailure = FailureAction.FAIL_TO_START - } - } - - artifactRules = """ - Builds/Android/** => AndroidBuild.zip - """.trimIndent() -}) - -/** - * ========================= - * MAC BUILD (future ready) - * ========================= - * Requires macOS agent + Xcode - */ -object MacBuild : BuildType({ - - name = "Unity - Mac (Disabled)" - - description = "Future macOS build target" - - params { - param("unity.target", "Mac") - } - - vcs { - root(DslContext.settingsRoot) - } - - dependencies { - snapshot(UnityBuildCore) {} - } - - enabled = false -}) - -/** - * ========================= - * iOS BUILD (future ready) - * ========================= - * Requires macOS agent + Xcode + provisioning profiles - */ -object IOSBuild : BuildType({ - - name = "Unity - iOS (Disabled)" - - description = "Future iOS build target" - - params { - param("unity.target", "iOS") - } - - vcs { - root(DslContext.settingsRoot) - } - - dependencies { - snapshot(UnityBuildCore) {} - } - - enabled = false -}) \ No newline at end of file