77from bincrafters .utils import *
88
99
10+ def _run_macos_jobs_on_gha ():
11+ if utils_file_contains ("azure-pipelines.yml" , "name: bincrafters/templates" )\
12+ and utils_file_contains ("azure-pipelines.yml" , "template: .ci/azure.yml@templates" ):
13+ return False
14+
15+ if utils_file_contains (".travis.yml" , "import: bincrafters/templates:.ci/travis" ):
16+ return False
17+
18+ return True
19+
20+
1021def generate_ci_jobs (platform : str , recipe_type : str = autodetect (), split_by_build_types : bool = False ) -> str :
1122 if platform != "gha" and platform != "azp" :
1223 return ""
@@ -19,6 +30,7 @@ def generate_ci_jobs(platform: str, recipe_type: str = autodetect(), split_by_bu
1930 split_by_build_types = get_bool_from_env ("BPT_SPLIT_BY_BUILD_TYPES" , get_bool_from_env ("splitByBuildTypes" , False ))
2031
2132 if platform == "gha" :
33+ run_macos = _run_macos_jobs_on_gha ()
2234 if recipe_type == "installer" :
2335 matrix ["config" ] = [
2436 {"name" : "Installer Linux" , "compiler" : "GCC" , "version" : "7" , "os" : "ubuntu-18.04" , "dockerImage" : "conanio/gcc7-centos6" },
@@ -62,12 +74,25 @@ def generate_ci_jobs(platform: str, recipe_type: str = autodetect(), split_by_bu
6274 {"name" : "CLANG 9 Debug" , "compiler" : "CLANG" , "version" : "9" , "os" : "ubuntu-18.04" , "buildType" : "Debug" },
6375 {"name" : "CLANG 9 Release" , "compiler" : "CLANG" , "version" : "9" , "os" : "ubuntu-18.04" , "buildType" : "Release" }
6476 ]
77+ if run_macos :
78+ matrix ["config" ] += [
79+ {"name" : "macOS Apple-Clang 10 Release" , "compiler" : "APPLE_CLANG" , "version" : "10.0" , "os" : "macOS-10.14" , "buildType" : "Release" },
80+ {"name" : "macOS Apple-Clang 10 Debug" , "compiler" : "APPLE_CLANG" , "version" : "10.0" , "os" : "macOS-10.14" , "buildType" : "Debug" },
81+ {"name" : "macOS Apple-Clang 11 Release" , "compiler" : "APPLE_CLANG" , "version" : "11.0" , "os" : "macOS-10.15" , "buildType" : "Release" },
82+ {"name" : "macOS Apple-Clang 11 Debug" , "compiler" : "APPLE_CLANG" , "version" : "11.0" , "os" : "macOS-10.15" , "buildType" : "Debug" },
83+ ]
6584 matrix_minimal ["config" ] = [
6685 {"name" : "GCC 7 Debug" , "compiler" : "GCC" , "version" : "7" , "os" : "ubuntu-18.04" , "buildType" : "Debug" },
6786 {"name" : "GCC 7 Release" , "compiler" : "GCC" , "version" : "7" , "os" : "ubuntu-18.04" , "buildType" : "Release" },
6887 {"name" : "CLANG 8 Debug" , "compiler" : "CLANG" , "version" : "8" , "os" : "ubuntu-18.04" , "buildType" : "Debug" },
6988 {"name" : "CLANG 8 Release" , "compiler" : "CLANG" , "version" : "8" , "os" : "ubuntu-18.04" , "buildType" : "Release" },
7089 ]
90+ if run_macos :
91+ matrix_minimal ["config" ] += [
92+ {"name" : "macOS Apple-Clang 11 Debug" , "compiler" : "APPLE_CLANG" , "version" : "11.0" , "os" : "macOS-10.15" , "buildType" : "Debug" },
93+ {"name" : "macOS Apple-Clang 11 Release" , "compiler" : "APPLE_CLANG" , "version" : "11.0" , "os" : "macOS-10.15" , "buildType" : "Release" },
94+ ]
95+
7196 else :
7297 matrix ["config" ] = [
7398 {"name" : "GCC 4.9" , "compiler" : "GCC" , "version" : "4.9" , "os" : "ubuntu-18.04" },
@@ -84,10 +109,19 @@ def generate_ci_jobs(platform: str, recipe_type: str = autodetect(), split_by_bu
84109 {"name" : "CLANG 8" , "compiler" : "CLANG" , "version" : "8" , "os" : "ubuntu-18.04" },
85110 {"name" : "CLANG 9" , "compiler" : "CLANG" , "version" : "9" , "os" : "ubuntu-18.04" },
86111 ]
112+ if run_macos :
113+ matrix ["config" ] += [
114+ {"name" : "macOS Apple-Clang 10" , "compiler" : "APPLE_CLANG" , "version" : "10.0" , "os" : "macOS-10.14" },
115+ {"name" : "macOS Apple-Clang 11" , "compiler" : "APPLE_CLANG" , "version" : "11.0" , "os" : "macOS-10.15" },
116+ ]
87117 matrix_minimal ["config" ] = [
88118 {"name" : "GCC 7" , "compiler" : "GCC" , "version" : "7" , "os" : "ubuntu-18.04" },
89119 {"name" : "CLANG 8" , "compiler" : "CLANG" , "version" : "8" , "os" : "ubuntu-18.04" },
90120 ]
121+ if run_macos :
122+ matrix_minimal ["config" ] += [
123+ {"name" : "macOS Apple-Clang 11" , "compiler" : "APPLE_CLANG" , "version" : "11.0" , "os" : "macOS-10.15" },
124+ ]
91125 elif platform == "azp" :
92126 if split_by_build_types :
93127 matrix ["config" ] = [
0 commit comments