From cdb3e5aa8ee4f7bbb5bf6a7494b70a1aa81eff8d Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Thu, 19 Jan 2023 10:51:34 -0500 Subject: [PATCH 1/4] add tvOS to print_matrix_configuration --- scripts/gha/print_matrix_configuration.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index 0be5b9b1..f2c3e935 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -59,13 +59,12 @@ MACOS_RUNNER = "macos-latest" LINUX_RUNNER = "ubuntu-latest" -# TODO @drsanta add TVOS to the platforms once the integration tests can be run on tvOS. PARAMETERS = { "integration_tests": { "matrix": { "unity_versions": ["2020"], "build_os": [""], - "platforms": [WINDOWS, MACOS, LINUX, ANDROID, IOS, PLAYMODE], + "platforms": [WINDOWS, MACOS, LINUX, ANDROID, IOS, TVOS, PLAYMODE], "mobile_devices": ["android_target", "ios_target", "simulator_target", "tvos_simulator"], "mobile_test_on": ["real"], @@ -171,8 +170,10 @@ def filter_non_desktop_platform(platform): def filter_build_platforms(platforms): + print("FilterBuildPlatforms: " + platforms) build_platforms = [] build_platforms.extend(filter_non_desktop_platform(platforms)) + print("build_platforms: ", build_platforms) # testapps from different desktop platforms are built in one job. desktop_platforms = ','.join(list(filter(lambda p: p in platforms, [WINDOWS, MACOS, LINUX]))) if desktop_platforms: @@ -205,13 +206,14 @@ def get_testapp_build_matrix(matrix_type, unity_versions, platforms, build_os, i # "os":"macos-latest", # "ios_sdk":"real" # } - + print("Matrix type: " + matrix_type) if matrix_type: unity_versions = get_value("integration_tests", matrix_type, "unity_versions") if matrix_type: platforms = filter_build_platforms(get_value("integration_tests", matrix_type, "platforms")) else: platforms = filter_build_platforms(platforms) if matrix_type: build_os = get_value("integration_tests", matrix_type, "build_os") if matrix_type: ios_sdk = get_value("integration_tests", matrix_type, "mobile_test_on") + print("Final platforms: ", platforms) # generate base matrix: combinations of (unity_versions, platforms, build_os) l = list(itertools.product(unity_versions, platforms, build_os)) if not l: return "" @@ -233,6 +235,7 @@ def get_testapp_build_matrix(matrix_type, unity_versions, platforms, build_os, i else: # for Desktop, Android platforms, set value "NA" for ios_sdk setting matrix["include"].append({"unity_version": unity_version, "platform": platform, "os": os, "ios_sdk": "NA"}) + print("final matrix: ", matrix) return matrix From 2eef9effa16a4bfa05f1bf281391c17ab08d0e0e Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Thu, 19 Jan 2023 10:51:45 -0500 Subject: [PATCH 2/4] Add tvOS to build workflows --- .github/workflows/build_starter.yml | 2 +- .github/workflows/integration_tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_starter.yml b/.github/workflows/build_starter.yml index 434edc3a..05696391 100644 --- a/.github/workflows/build_starter.yml +++ b/.github/workflows/build_starter.yml @@ -24,7 +24,7 @@ on: required: false platforms: description: 'Test Platforms of Android,iOS,Windows,macOS,Linux,Playmode' - default: 'Android,iOS,Windows,macOS,Linux,Playmode' + default: 'Android,iOS,tvOS,Windows,macOS,Linux,Playmode' required: true apis: description: 'CSV of apis to build and test' diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 0bbc4d24..ebeb8c2f 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -14,7 +14,7 @@ on: description: 'Build OS (value: windows-latest, macos-latest. Left empty will use macos-latest for iOS platform, windows-latest for the rest)' platforms: description: 'CSV of Android,iOS,Windows,macOS,Linux,Playmode' - default: 'Android,iOS,Windows,macOS,Linux,Playmode' + default: 'Android,iOS,tvOS,Windows,macOS,Linux,Playmode' required: true apis: description: 'CSV of apis to build and test' From c9d27e4e93eb135fb20648b00e2617854d715a89 Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Thu, 19 Jan 2023 10:59:13 -0500 Subject: [PATCH 3/4] remove debug output --- scripts/gha/print_matrix_configuration.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index f2c3e935..931305ed 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -170,10 +170,8 @@ def filter_non_desktop_platform(platform): def filter_build_platforms(platforms): - print("FilterBuildPlatforms: " + platforms) build_platforms = [] build_platforms.extend(filter_non_desktop_platform(platforms)) - print("build_platforms: ", build_platforms) # testapps from different desktop platforms are built in one job. desktop_platforms = ','.join(list(filter(lambda p: p in platforms, [WINDOWS, MACOS, LINUX]))) if desktop_platforms: @@ -206,14 +204,13 @@ def get_testapp_build_matrix(matrix_type, unity_versions, platforms, build_os, i # "os":"macos-latest", # "ios_sdk":"real" # } - print("Matrix type: " + matrix_type) + if matrix_type: unity_versions = get_value("integration_tests", matrix_type, "unity_versions") if matrix_type: platforms = filter_build_platforms(get_value("integration_tests", matrix_type, "platforms")) else: platforms = filter_build_platforms(platforms) if matrix_type: build_os = get_value("integration_tests", matrix_type, "build_os") if matrix_type: ios_sdk = get_value("integration_tests", matrix_type, "mobile_test_on") - print("Final platforms: ", platforms) # generate base matrix: combinations of (unity_versions, platforms, build_os) l = list(itertools.product(unity_versions, platforms, build_os)) if not l: return "" @@ -235,7 +232,6 @@ def get_testapp_build_matrix(matrix_type, unity_versions, platforms, build_os, i else: # for Desktop, Android platforms, set value "NA" for ios_sdk setting matrix["include"].append({"unity_version": unity_version, "platform": platform, "os": os, "ios_sdk": "NA"}) - print("final matrix: ", matrix) return matrix From 7168e36f9230bf3d032fab904c6191b85aa08e2d Mon Sep 17 00:00:00 2001 From: "drsanta@google.com" Date: Thu, 19 Jan 2023 16:34:56 -0500 Subject: [PATCH 4/4] add tvOS to trigger_reusable_package --- .github/workflows/build_starter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_starter.yml b/.github/workflows/build_starter.yml index 05696391..7f501b90 100644 --- a/.github/workflows/build_starter.yml +++ b/.github/workflows/build_starter.yml @@ -253,7 +253,7 @@ jobs: trigger_reusable_package: name: package ${{ needs.check_and_prepare.outputs.release_label }} - needs: [check_and_prepare, build_android, build_ios, build_linux, build_macos, build_windows, decide_build_branch] + needs: [check_and_prepare, build_android, build_ios, build_tvos, build_linux, build_macos, build_windows, decide_build_branch] uses: ./.github/workflows/package.yml if: (needs.check_and_prepare.outputs.should_trigger_package == 'true') && !cancelled() && !failure() with: