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/)
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
### Added
- Skeletor setup step

View File

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

View File

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

View File

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