Compare commits

..

No commits in common. "master" and "v1.0.1" have entirely different histories.

4 changed files with 44 additions and 66 deletions

View File

@ -5,39 +5,6 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/) The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/). and this project adheres to [Semantic Versioning](http://semver.org/).
## [1.3.2] - 2023-01-12
### Fixed requirements
- Key words for required agent names
## [1.3.1] - 2023-01-10
### Changed
- Move one of agent from ios to android
## [1.3.0] - 2022-07-29
### Fixed
- Search "*.aab" artifacts
### Added
- Build type for china env
### Changes
- Removed "Setup Skeletor" step
- Environment var "artifactsPath" was combined with "artifactsRules"
## [1.2.1] - 2022-07-19
### Added
- Environment param for set artifact path
## [1.2.0] - 2022-06-23
### Added
- Tasks for build under dev environment, for both platform
### Fixed
- Removed checkbox "debug" from parameters
- Changelog description of version 1.1.0
## [1.1.0] - 2022-06-07
### Fixed
- Using of deprecated taskman functions
- Replaced "try_deps_update" with "deps_update"
## [1.0.1] - 2022-06-07 ## [1.0.1] - 2022-06-07
### Added ### Added
- Skeletor setup step - Skeletor setup step

View File

@ -1,5 +1 @@
## Setup
```
./gamectl setup_teamcity_settings ./gamectl setup_teamcity_settings
```

View File

@ -13,9 +13,9 @@ function setup_teamcity_settings($args = array())
$cmd = "git config --get remote.origin.url"; $cmd = "git config --get remote.origin.url";
$url = str_replace("\n", "", shell_exec($cmd)); $url = str_replace("\n", "", shell_exec($cmd));
$name = "\"git: $url\""; $name = "\"git: ${url}\"";
set("TEAM_CITY_SETTINGS_NAME_HERE", $name); taskman_propset("TEAM_CITY_SETTINGS_NAME_HERE", $name);
set("TEAM_CITY_SETTINGS_URL_HERE", "\"$url\""); taskman_propset("TEAM_CITY_SETTINGS_URL_HERE", "\"$url\"");
gen_build_file(__DIR__ . "/teamcity/settings.kts.in", gen_build_file(__DIR__ . "/teamcity/settings.kts.in",
"$GAME_ROOT/.teamcity/settings.kts"); "$GAME_ROOT/.teamcity/settings.kts");

View File

@ -55,39 +55,36 @@ project {
parallel { parallel {
//Android //Android
build(BuildAndroid) build(BuildAndroid)
build(BuildAndroidDev)
build(UploadArtifactToSlack("Build_Upload_Android", BuildAndroid)) build(UploadArtifactToSlack("Build_Upload_Android", BuildAndroid))
//IOS //IOS
build(BuildIOS) build(BuildIOS)
build(BuildIOSDev)
build(UploadArtifactToSlack("Build_Upload_IOS", BuildIOS)) build(UploadArtifactToSlack("Build_Upload_IOS", BuildIOS))
} }
} }
} }
object BuildAndroid : BuildAndroidType("", "prod/global_android") object BuildAndroid : BuildAndroidType("", "prod/global_android", "+:*")
object BuildAndroidDev : BuildAndroidType("Dev", "dev/global_android") object BuildIOS : BuildIOSType("", "prod/global_ios", "+:*")
object BuildAndroidCh : BuildAndroidType("Ch", "prod/china_android")
object BuildIOS : BuildIOSType("", "prod/global_ios")
object BuildIOSDev : BuildIOSType("Dev", "dev/global_ios")
object BuildIOSCh : BuildIOSType("Ch", "prod/china_ios")
open class BuildAndroidType(name_suffix : String, environment : String) : open class BuildAndroidType(proj : String, env : String, branch: String) :
BuildType({ BuildType({
name = "Build Android"
name = "Build Android " + name_suffix var artifact_rules : String = "*.apk\n*.aab"
artifactRules = "%build.env.artifactRules%" artifactRules = artifact_rules
vcs { vcs {
root(GitProjectRepo) root(GitProjectRepo)
branchFilter = "+:*" branchFilter = branch
} }
params { params {
checkbox("build.env.debug", "false", label = "Debug",
description = "Build developer version.", checked = "true")
param("build.env.buildName", "%system.teamcity.buildConfName%") param("build.env.buildName", "%system.teamcity.buildConfName%")
param("build.env.workDir", "%system.teamcity.build.workingDir%") param("build.env.workDir", "%system.teamcity.build.workingDir%")
param("build.env.artifactRules", "artifacts/android/*.apk\nartifacts/android/*.aab") param("build.env.artifactRules", artifact_rules)
} }
features { features {
@ -106,10 +103,17 @@ open class BuildAndroidType(name_suffix : String, environment : String) :
} }
} }
var gamectl_environment = if("%build.env.debug%" == "true") env.replace("global", "dev") else env
steps { steps {
script {
name = "Setup skeletor"
scriptContent = "./setup.sh"
}
script { script {
name = "Deps Update" name = "Deps Update"
scriptContent = "./gamectl deps_update" scriptContent = "./gamectl try_deps_update"
} }
script { script {
name = "Clean" name = "Clean"
@ -117,31 +121,36 @@ open class BuildAndroidType(name_suffix : String, environment : String) :
} }
script { script {
name = "Produce" name = "Produce"
scriptContent = "./gamectl --env=" + environment + " build_android" scriptContent = "./gamectl --env=" + gamectl_environment + " build_android"
} }
} }
requirements { requirements {
matches("teamcity.agent.name", "(Default Agent|Default Agent 2)") equals("teamcity.agent.name", "Default Agent")
} }
} }
) )
{} {}
open class BuildIOSType(name_suffix : String, environment : String) :
open class BuildIOSType(proj : String, env : String, branch : String) :
BuildType({ BuildType({
name = "Build IOS " + name_suffix name = "Build IOS"
artifactRules = "%build.env.artifactRules%"
var artifact_rules : String = "*.ipa"
artifactRules = artifact_rules
vcs { vcs {
root(GitProjectRepo) root(GitProjectRepo)
branchFilter = "+:*" branchFilter = branch
} }
params { params {
checkbox("build.env.debug", "false", label = "Debug",
description = "Build developer version.", checked = "true")
param("build.env.buildName", "%system.teamcity.buildConfName%") param("build.env.buildName", "%system.teamcity.buildConfName%")
param("build.env.workDir", "%system.teamcity.build.workingDir%") param("build.env.workDir", "%system.teamcity.build.workingDir%")
param("build.env.artifactRules", "artifacts/ios/*.ipa") param("build.env.artifactRules", artifact_rules)
} }
features { features {
@ -160,10 +169,16 @@ open class BuildIOSType(name_suffix : String, environment : String) :
} }
} }
var gamectl_environment = if("%build.env.debug%" == "true") env.replace("global", "dev") else env
steps { steps {
script {
name = "Setup skeletor"
scriptContent = "./setup.sh"
}
script { script {
name = "Deps Update" name = "Deps Update"
scriptContent = "./gamectl deps_update" scriptContent = "./gamectl try_deps_update"
} }
script { script {
name = "Clean" name = "Clean"
@ -171,12 +186,12 @@ open class BuildIOSType(name_suffix : String, environment : String) :
} }
script { script {
name = "Produce" name = "Produce"
scriptContent = "./gamectl --env=" + environment + " build_ios" scriptContent = "./gamectl --env=" + gamectl_environment + " build_ios"
} }
} }
requirements { requirements {
equals("teamcity.agent.name", "Default Agent 3") matches("teamcity.agent.name", "(Default Agent 2|Default Agent 3)")
} }
}) })
{} {}