From 4edb2f6924dda1cc5f116074121a80f61ac58cf5 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 2 May 2022 10:39:40 -0700 Subject: [PATCH 01/16] Change xcode version to 13.3.1 and macos runners to macos-12. --- .github/workflows/android.yml | 2 +- .github/workflows/cpp-packaging.yml | 24 ++++----- .github/workflows/desktop.yml | 4 +- .github/workflows/integration_tests.yml | 66 +++++++++++------------ .github/workflows/ios.yml | 2 +- .github/workflows/update-dependencies.yml | 2 +- scripts/gha/print_matrix_configuration.py | 20 +++---- 7 files changed, 60 insertions(+), 60 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index b15871c789..516a0b73bd 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -13,7 +13,7 @@ on: env: CCACHE_DIR: ${{ github.workspace }}/ccache_dir GITHUB_TOKEN: ${{ github.token }} - xcodeVersion: "12.4" # Only affects Mac runners, and only for prerequisites. + xcodeVersion: "13.3.1" # Only affects Mac runners, and only for prerequisites. concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }} diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index 48604ecbee..d29140ca80 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -32,9 +32,9 @@ env: demumbleVer: "1.1.0" # Use SHA256 for hashing files. hashCommand: "sha256sum" - # Xcode version 12.4 is the version we build the SDK with. + # Xcode version 13.3.1 is the version we build the SDK with. # Our MacOS runners will use the version in /Applications/Xcode_${xcodeVersion}.app - xcodeVersion: "12.4" + xcodeVersion: "13.3.1" # LLVM version with ARM MachO support has no version number yet. llvmVer: "5f187f0afaad33013ba03454c4749d99b1362534" GITHUB_TOKEN: ${{ github.token }} @@ -79,13 +79,13 @@ jobs: if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, macos-12] include: - os: ubuntu-latest tools_platform: linux # Binutils 2.35.1 released Sep 19, 2020 binutils_version: "2.35.1" - - os: macos-latest + - os: macos-12 tools_platform: darwin # Binutils 2.35.1 released Sep 19, 2020 binutils_version: "2.35.1" @@ -180,7 +180,7 @@ jobs: build_and_package_ios_tvos: name: build-and-package-ios-tvos - runs-on: macos-latest + runs-on: macos-12 if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} steps: - name: Store git credentials for all git commands @@ -302,7 +302,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, ubuntu-latest, macos-latest] + os: [windows-latest, ubuntu-latest, macos-12] build_type: ["Release", "Debug"] architecture: ["x64", "x86", "arm64"] msvc_runtime: ["static", "dynamic"] @@ -322,7 +322,7 @@ jobs: vcpkg_triplet_suffix: "linux" additional_build_flags: "" sdk_platform: "linux" - - os: macos-latest + - os: macos-12 vcpkg_triplet_suffix: "osx" additional_build_flags: "--target_format libraries" sdk_platform: "darwin" @@ -330,13 +330,13 @@ jobs: exclude: - os: windows-latest linux_abi: "c++11" - - os: macos-latest + - os: macos-12 architecture: "x86" - - os: macos-latest + - os: macos-12 msvc_runtime: "dynamic" - - os: macos-latest + - os: macos-12 linux_abi: "c++11" - - os: macos-latest + - os: macos-12 build_type: "Debug" - os: ubuntu-latest msvc_runtime: "dynamic" @@ -497,7 +497,7 @@ jobs: suffix: '-x64-Debug-dynamic' runs_on_platform: ubuntu-latest - sdk_platform: darwin - runs_on_platform: macos-latest + runs_on_platform: macos-12 exclude: - sdk_platform: windows suffix: '' diff --git a/.github/workflows/desktop.yml b/.github/workflows/desktop.yml index 174bb469f1..9891e3196e 100644 --- a/.github/workflows/desktop.yml +++ b/.github/workflows/desktop.yml @@ -71,10 +71,10 @@ jobs: # msvc_runtime excludes - os: ubuntu-latest msvc_runtime: "dynamic" - - os: macos-latest + - os: macos-12 msvc_runtime: "dynamic" # architecture excluees - - os: macos-latest + - os: macos-12 architecture: "x86" # Xcode excludes -- allow only one on osx and linux - os: ubuntu-latest diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 32cbe45d42..57ed378522 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -20,7 +20,7 @@ on: required: true operating_systems: description: 'CSV of VMs to run on' - default: 'ubuntu-latest,windows-latest,macos-latest' + default: 'ubuntu-latest,windows-latest,macos-12' required: true desktop_ssl_variants: description: 'CSV of desktop SSL variants to use' @@ -534,7 +534,7 @@ jobs: build_ios: name: build-ios-macos-latest needs: [check_and_prepare] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false @@ -599,7 +599,7 @@ jobs: --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ --ios_sdk ${{ needs.check_and_prepare.outputs.mobile_test_on }} \ - --artifact_name "ios-macos-latest" \ + --artifact_name "ios-macos-12" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -607,22 +607,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-ios-macos-latest.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-ios-macos-latest.log.json + if [ ! -f build-results-ios-macos-12.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-ios-macos-12.log.json fi - name: Upload iOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-ios-macos-latest - path: testapps-ios-macos-latest + name: testapps-ios-macos-12 + path: testapps-ios-macos-12 retention-days: ${{ env.artifactRetentionDays }} - name: Upload iOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-ios-macos-latest* + path: build-results-ios-macos-12* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -643,7 +643,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-ios-macos-latest.log + cat build-results-ios-macos-12.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi @@ -651,7 +651,7 @@ jobs: build_tvos: name: build-tvos-macos-latest needs: [check_and_prepare] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false @@ -715,7 +715,7 @@ jobs: python scripts/gha/build_testapps.py --p tvOS \ --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ - --artifact_name "tvos-macos-latest" \ + --artifact_name "tvos-macos-12" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -723,22 +723,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-tvos-macos-latest.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-tvos-macos-latest.log.json + if [ ! -f build-results-tvos-macos-12.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-tvos-macos-12.log.json fi - name: Upload tvOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-tvos-macos-latest - path: testapps-tvos-macos-latest + name: testapps-tvos-macos-12 + path: testapps-tvos-macos-12 retention-days: ${{ env.artifactRetentionDays }} - name: Upload tvOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-tvos-macos-latest* + path: build-results-tvos-macos-12* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -759,7 +759,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-tvos-macos-latest.log + cat build-results-tvos-macos-12.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi @@ -858,7 +858,7 @@ jobs: test_android: name: test-android-${{ matrix.build_os }}-${{ matrix.android_device }} needs: [check_and_prepare, build_android] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'Android') && needs.check_and_prepare.outputs.apis != '' && !cancelled() strategy: fail-fast: false @@ -963,7 +963,7 @@ jobs: test_ios: name: test-ios-macos-latest-${{ matrix.ios_device }} needs: [check_and_prepare, build_ios] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() strategy: fail-fast: false @@ -980,7 +980,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-ios-macos-latest + name: testapps-ios-macos-12 - name: Setup python uses: actions/setup-python@v2 with: @@ -1009,7 +1009,7 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-latest-${{ matrix.ios_device }}" \ + --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ --ci - name: Install Cloud SDK if: steps.get-device-type.outputs.device_type == 'real' @@ -1022,7 +1022,7 @@ jobs: python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" python scripts/gha/test_lab.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-latest-${{ matrix.ios_device }}" \ + --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ --code_platform cpp \ --key_file scripts/gha-encrypted/gcs_key_file.json - name: Prepare results summary artifact @@ -1030,15 +1030,15 @@ jobs: shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-ios-macos-latest" && ! -f "testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}.log.json" + if [ -d "testapps/testapps-ios-macos-12" && ! -f "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" fi - name: Upload iOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}* + path: testapps/test-results-ios-macos-12-${{ matrix.ios_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1059,7 +1059,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}.log" + cat "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi @@ -1067,7 +1067,7 @@ jobs: test_tvos: name: test-tvos-macos-latest-${{ matrix.tvos_device }} needs: [check_and_prepare, build_tvos] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() strategy: fail-fast: false @@ -1084,7 +1084,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-tvos-macos-latest + name: testapps-tvos-macos-12 - name: Setup python uses: actions/setup-python@v2 with: @@ -1105,22 +1105,22 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --tvos_device "${{ matrix.tvos_device }}" \ - --logfile_name "tvos-macos-latest-${{ matrix.tvos_device }}" \ + --logfile_name "tvos-macos-12-${{ matrix.tvos_device }}" \ --ci - name: Prepare results summary artifact if: ${{ !cancelled() }} shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-tvos-macos-latest" && ! -f "testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}.log.json" + if [ -d "testapps/testapps-tvos-macos-12" && ! -f "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" fi - name: Upload tvOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}* + path: testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1141,7 +1141,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}.log" + cat "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 993186db71..6d6d90026a 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -36,7 +36,7 @@ jobs: build: name: ios-macos-latest - runs-on: macos-latest + runs-on: macos-12 needs: prepare_matrix strategy: fail-fast: false diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml index 6200df50d6..f9fd60979a 100644 --- a/.github/workflows/update-dependencies.yml +++ b/.github/workflows/update-dependencies.yml @@ -25,7 +25,7 @@ env: jobs: update_dependencies: name: update-deps - runs-on: macos-latest + runs-on: macos-12 steps: - name: Get token for firebase-workflow-trigger uses: tibdex/github-app-token@v1 diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index ce3d4cec2d..1c76887fc1 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -72,35 +72,35 @@ PARAMETERS = { "desktop": { "matrix": { - "os": ["ubuntu-latest", "macos-latest"], + "os": ["ubuntu-latest", "macos-12"], "build_type": ["Release", "Debug"], "architecture": ["x64", "x86", "arm64"], "msvc_runtime": ["static","dynamic"], - "xcode_version": ["12.4"], + "xcode_version": ["13.3.1"], "python_version": ["3.7"], EXPANDED_KEY: { - "os": ["ubuntu-latest", "macos-latest", "windows-latest"], - "xcode_version": ["11.7", "12.4", "12.5.1"], + "os": ["ubuntu-latest", "macos-12", "windows-latest"], + "xcode_version": ["13.3.1"], } } }, "android": { "matrix": { - "os": ["ubuntu-latest", "macos-latest", "windows-latest"], + "os": ["ubuntu-latest", "macos-12", "windows-latest"], "architecture": ["x64"], "python_version": ["3.7"], EXPANDED_KEY: { - "os": ["ubuntu-latest", "macos-latest", "windows-latest"] + "os": ["ubuntu-latest", "macos-12", "windows-latest"] } } }, "integration_tests": { "matrix": { - "os": ["ubuntu-latest", "macos-latest", "windows-latest"], + "os": ["ubuntu-latest", "macos-12", "windows-latest"], "platform": ["Desktop", "Android", "iOS", "tvOS"], "ssl_lib": ["openssl"], "android_device": ["android_target", "emulator_target"], @@ -112,7 +112,7 @@ "msvc_runtime": ["dynamic"], "cpp_compiler_windows": ["VisualStudio2019"], "cpp_compiler_linux": ["clang-11.0"], - "xcode_version": ["12.4"], # only the first one is used + "xcode_version": ["13.3.1"], # only the first one is used "ndk_version": ["r22b"], "platform_version": ["28"], "build_tools_version": ["28.0.3"], @@ -138,10 +138,10 @@ "ios": { "matrix": { - "xcode_version": ["12.4"], + "xcode_version": ["13.3.1"], EXPANDED_KEY: { - "xcode_version": ["12.4", "12.5.1"] + "xcode_version": ["13.3.1"] } } }, From 3c3e9660fd34ca2cf528206518a9e51859976ace Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 2 May 2022 10:52:04 -0700 Subject: [PATCH 02/16] Temporarily build with Xcode 13.1. --- .github/workflows/android.yml | 2 +- .github/workflows/cpp-packaging.yml | 4 ++-- scripts/gha/print_matrix_configuration.py | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 516a0b73bd..ea7189f1f9 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -13,7 +13,7 @@ on: env: CCACHE_DIR: ${{ github.workspace }}/ccache_dir GITHUB_TOKEN: ${{ github.token }} - xcodeVersion: "13.3.1" # Only affects Mac runners, and only for prerequisites. + xcodeVersion: "13.1" # Only affects Mac runners, and only for prerequisites. concurrency: group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }} diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index d29140ca80..c561ca467a 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -32,9 +32,9 @@ env: demumbleVer: "1.1.0" # Use SHA256 for hashing files. hashCommand: "sha256sum" - # Xcode version 13.3.1 is the version we build the SDK with. + # Xcode version 13.1 is the version we build the SDK with. # Our MacOS runners will use the version in /Applications/Xcode_${xcodeVersion}.app - xcodeVersion: "13.3.1" + xcodeVersion: "13.1" # LLVM version with ARM MachO support has no version number yet. llvmVer: "5f187f0afaad33013ba03454c4749d99b1362534" GITHUB_TOKEN: ${{ github.token }} diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index 1c76887fc1..402924c2e5 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -76,12 +76,12 @@ "build_type": ["Release", "Debug"], "architecture": ["x64", "x86", "arm64"], "msvc_runtime": ["static","dynamic"], - "xcode_version": ["13.3.1"], + "xcode_version": ["13.1"], "python_version": ["3.7"], EXPANDED_KEY: { "os": ["ubuntu-latest", "macos-12", "windows-latest"], - "xcode_version": ["13.3.1"], + "xcode_version": ["13.1"], } } }, @@ -112,7 +112,7 @@ "msvc_runtime": ["dynamic"], "cpp_compiler_windows": ["VisualStudio2019"], "cpp_compiler_linux": ["clang-11.0"], - "xcode_version": ["13.3.1"], # only the first one is used + "xcode_version": ["13.1"], # only the first one is used "ndk_version": ["r22b"], "platform_version": ["28"], "build_tools_version": ["28.0.3"], @@ -138,10 +138,10 @@ "ios": { "matrix": { - "xcode_version": ["13.3.1"], + "xcode_version": ["13.1"], EXPANDED_KEY: { - "xcode_version": ["13.3.1"] + "xcode_version": ["13.1"] } } }, From 2b11c6723dd88abcdf410494e0f5cc4767513dab Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 2 May 2022 11:55:21 -0700 Subject: [PATCH 03/16] Update simulators for macos-12 runners --- scripts/gha/print_matrix_configuration.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index 402924c2e5..4d9dfd07a5 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -170,10 +170,10 @@ "ios_min": {"type": "real", "model":"iphone8", "version":"11.4"}, "ios_target": {"type": "real", "model":"iphone8plus", "version":"12.0"}, "ios_latest": {"type": "real", "model":"iphone11pro", "version":"14.7"}, - "simulator_min": {"type": "virtual", "name":"iPhone 6", "version":"11.4"}, - "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"12.0"}, - "simulator_latest": {"type": "virtual", "name":"iPhone 11", "version":"14.4"}, - "tvos_simulator": {"type": "virtual", "name":"Apple TV", "version":"14.3"}, + "simulator_min": {"type": "virtual", "name":"iPhone 6", "version":"15.4"}, + "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"15.4"}, + "simulator_latest": {"type": "virtual", "name":"iPhone 11", "version":"15.4"}, + "tvos_simulator": {"type": "virtual", "name":"Apple TV", "version":"15.0"}, } From 65659bd917512225968d3dfbfdaf4d0a98804e1f Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 2 May 2022 11:59:29 -0700 Subject: [PATCH 04/16] Test on simulator 15.0 --- scripts/gha/print_matrix_configuration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index 4d9dfd07a5..312f7b9ca8 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -170,8 +170,8 @@ "ios_min": {"type": "real", "model":"iphone8", "version":"11.4"}, "ios_target": {"type": "real", "model":"iphone8plus", "version":"12.0"}, "ios_latest": {"type": "real", "model":"iphone11pro", "version":"14.7"}, - "simulator_min": {"type": "virtual", "name":"iPhone 6", "version":"15.4"}, - "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"15.4"}, + "simulator_min": {"type": "virtual", "name":"iPhone 6", "version":"15.0"}, + "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"15.0"}, "simulator_latest": {"type": "virtual", "name":"iPhone 11", "version":"15.4"}, "tvos_simulator": {"type": "virtual", "name":"Apple TV", "version":"15.0"}, } From 8d0d0ab65a934d4c8ce79fa1687f359fbffd04b9 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 2 May 2022 13:25:40 -0700 Subject: [PATCH 05/16] Switch back to old simulators but tweak the versions for Xcode 13 --- scripts/gha/print_matrix_configuration.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index 312f7b9ca8..8fd3513a02 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -170,10 +170,10 @@ "ios_min": {"type": "real", "model":"iphone8", "version":"11.4"}, "ios_target": {"type": "real", "model":"iphone8plus", "version":"12.0"}, "ios_latest": {"type": "real", "model":"iphone11pro", "version":"14.7"}, - "simulator_min": {"type": "virtual", "name":"iPhone 6", "version":"15.0"}, - "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"15.0"}, + "simulator_min": {"type": "virtual", "name":"iPhone 6", "version":"12.4"}, + "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"14.5"}, "simulator_latest": {"type": "virtual", "name":"iPhone 11", "version":"15.4"}, - "tvos_simulator": {"type": "virtual", "name":"Apple TV", "version":"15.0"}, + "tvos_simulator": {"type": "virtual", "name":"Apple TV", "version":"14.3"}, } From 95139ba66bb394f0fb18cb458e3936c362ab50d4 Mon Sep 17 00:00:00 2001 From: Mou Date: Mon, 2 May 2022 14:59:05 -0700 Subject: [PATCH 06/16] update mac-runner variable --- .github/workflows/integration_tests.yml | 72 +++++++++++++------------ 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 57ed378522..6e57598008 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -532,12 +532,14 @@ jobs: fi build_ios: - name: build-ios-macos-latest + name: build-ios-${{ matrix.os }} needs: [check_and_prepare] - runs-on: macos-12 + runs-on: ${{ matrix.os }} if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false + matrix: + os: macos-12 steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -599,7 +601,7 @@ jobs: --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ --ios_sdk ${{ needs.check_and_prepare.outputs.mobile_test_on }} \ - --artifact_name "ios-macos-12" \ + --artifact_name "ios-${{ matrix.os }}" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -607,22 +609,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-ios-macos-12.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-ios-macos-12.log.json + if [ ! -f build-results-ios-${{ matrix.os }}.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-ios-${{ matrix.os }}.log.json fi - name: Upload iOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-ios-macos-12 - path: testapps-ios-macos-12 + name: testapps-ios-${{ matrix.os }} + path: testapps-ios-${{ matrix.os }} retention-days: ${{ env.artifactRetentionDays }} - name: Upload iOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-ios-macos-12* + path: build-results-ios-${{ matrix.os }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -643,18 +645,20 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-ios-macos-12.log + cat build-results-ios-${{ matrix.os }}.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi build_tvos: - name: build-tvos-macos-latest + name: build-tvos-${{ matrix.os }} needs: [check_and_prepare] - runs-on: macos-12 + runs-on: ${{ matrix.os }} if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false + matrix: + os: macos-12 steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -715,7 +719,7 @@ jobs: python scripts/gha/build_testapps.py --p tvOS \ --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ - --artifact_name "tvos-macos-12" \ + --artifact_name "tvos-${{ matrix.os }}" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -723,22 +727,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-tvos-macos-12.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-tvos-macos-12.log.json + if [ ! -f build-results-tvos-${{ matrix.os }}.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-tvos-${{ matrix.os }}.log.json fi - name: Upload tvOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-tvos-macos-12 - path: testapps-tvos-macos-12 + name: testapps-tvos-${{ matrix.os }} + path: testapps-tvos-${{ matrix.os }} retention-days: ${{ env.artifactRetentionDays }} - name: Upload tvOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-tvos-macos-12* + path: build-results-tvos-${{ matrix.os }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -759,7 +763,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-tvos-macos-12.log + cat build-results-tvos-${{ matrix.os }}.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi @@ -961,7 +965,7 @@ jobs: fi test_ios: - name: test-ios-macos-latest-${{ matrix.ios_device }} + name: test-ios-${{ matrix.build_os }}-${{ matrix.ios_device }} needs: [check_and_prepare, build_ios] runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() @@ -969,6 +973,7 @@ jobs: fail-fast: false matrix: ios_device: ${{ fromJson(needs.check_and_prepare.outputs.ios_device) }} + build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -980,7 +985,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-ios-macos-12 + name: testapps-ios-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 with: @@ -1009,7 +1014,7 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ + --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ --ci - name: Install Cloud SDK if: steps.get-device-type.outputs.device_type == 'real' @@ -1022,7 +1027,7 @@ jobs: python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" python scripts/gha/test_lab.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ + --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ --code_platform cpp \ --key_file scripts/gha-encrypted/gcs_key_file.json - name: Prepare results summary artifact @@ -1030,15 +1035,15 @@ jobs: shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-ios-macos-12" && ! -f "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" + if [ -d "testapps/testapps-ios-${{ matrix.build_os }}" && ! -f "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" fi - name: Upload iOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-ios-macos-12-${{ matrix.ios_device }}* + path: testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1059,13 +1064,13 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log" + cat "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi test_tvos: - name: test-tvos-macos-latest-${{ matrix.tvos_device }} + name: test-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }} needs: [check_and_prepare, build_tvos] runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() @@ -1073,6 +1078,7 @@ jobs: fail-fast: false matrix: tvos_device: ${{ fromJson(needs.check_and_prepare.outputs.tvos_device) }} + build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -1084,7 +1090,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-tvos-macos-12 + name: testapps-tvos-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 with: @@ -1105,22 +1111,22 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --tvos_device "${{ matrix.tvos_device }}" \ - --logfile_name "tvos-macos-12-${{ matrix.tvos_device }}" \ + --logfile_name "tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}" \ --ci - name: Prepare results summary artifact if: ${{ !cancelled() }} shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-tvos-macos-12" && ! -f "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" + if [ -d "testapps/testapps-tvos-${{ matrix.build_os }}" && ! -f "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" fi - name: Upload tvOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}* + path: testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1141,7 +1147,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log" + cat "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi From 666a4527259e483494ac9f56917a451aff0dbd25 Mon Sep 17 00:00:00 2001 From: Mou Date: Mon, 2 May 2022 15:02:07 -0700 Subject: [PATCH 07/16] fix matrix --- .github/workflows/integration_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 6e57598008..b6a3f80ba6 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -539,7 +539,7 @@ jobs: strategy: fail-fast: false matrix: - os: macos-12 + os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' From f6834b2cafd009882f80b35cdfe6e87e03b76750 Mon Sep 17 00:00:00 2001 From: Mou Date: Mon, 2 May 2022 15:03:14 -0700 Subject: [PATCH 08/16] fix matrix --- .github/workflows/integration_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index b6a3f80ba6..81f2c880ed 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -658,7 +658,7 @@ jobs: strategy: fail-fast: false matrix: - os: macos-12 + os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' From fd079c4f9d946a06dd59c7762cadd2c56fe6871d Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 2 May 2022 15:54:49 -0700 Subject: [PATCH 09/16] Revert "update mac-runner variable" This reverts commit 95139ba66bb394f0fb18cb458e3936c362ab50d4. --- .github/workflows/integration_tests.yml | 72 ++++++++++++------------- 1 file changed, 33 insertions(+), 39 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 81f2c880ed..57ed378522 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -532,14 +532,12 @@ jobs: fi build_ios: - name: build-ios-${{ matrix.os }} + name: build-ios-macos-latest needs: [check_and_prepare] - runs-on: ${{ matrix.os }} + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false - matrix: - os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -601,7 +599,7 @@ jobs: --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ --ios_sdk ${{ needs.check_and_prepare.outputs.mobile_test_on }} \ - --artifact_name "ios-${{ matrix.os }}" \ + --artifact_name "ios-macos-12" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -609,22 +607,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-ios-${{ matrix.os }}.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-ios-${{ matrix.os }}.log.json + if [ ! -f build-results-ios-macos-12.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-ios-macos-12.log.json fi - name: Upload iOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-ios-${{ matrix.os }} - path: testapps-ios-${{ matrix.os }} + name: testapps-ios-macos-12 + path: testapps-ios-macos-12 retention-days: ${{ env.artifactRetentionDays }} - name: Upload iOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-ios-${{ matrix.os }}* + path: build-results-ios-macos-12* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -645,20 +643,18 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-ios-${{ matrix.os }}.log + cat build-results-ios-macos-12.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi build_tvos: - name: build-tvos-${{ matrix.os }} + name: build-tvos-macos-latest needs: [check_and_prepare] - runs-on: ${{ matrix.os }} + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false - matrix: - os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -719,7 +715,7 @@ jobs: python scripts/gha/build_testapps.py --p tvOS \ --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ - --artifact_name "tvos-${{ matrix.os }}" \ + --artifact_name "tvos-macos-12" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -727,22 +723,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-tvos-${{ matrix.os }}.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-tvos-${{ matrix.os }}.log.json + if [ ! -f build-results-tvos-macos-12.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-tvos-macos-12.log.json fi - name: Upload tvOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-tvos-${{ matrix.os }} - path: testapps-tvos-${{ matrix.os }} + name: testapps-tvos-macos-12 + path: testapps-tvos-macos-12 retention-days: ${{ env.artifactRetentionDays }} - name: Upload tvOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-tvos-${{ matrix.os }}* + path: build-results-tvos-macos-12* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -763,7 +759,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-tvos-${{ matrix.os }}.log + cat build-results-tvos-macos-12.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi @@ -965,7 +961,7 @@ jobs: fi test_ios: - name: test-ios-${{ matrix.build_os }}-${{ matrix.ios_device }} + name: test-ios-macos-latest-${{ matrix.ios_device }} needs: [check_and_prepare, build_ios] runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() @@ -973,7 +969,6 @@ jobs: fail-fast: false matrix: ios_device: ${{ fromJson(needs.check_and_prepare.outputs.ios_device) }} - build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -985,7 +980,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-ios-${{ matrix.build_os }} + name: testapps-ios-macos-12 - name: Setup python uses: actions/setup-python@v2 with: @@ -1014,7 +1009,7 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ + --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ --ci - name: Install Cloud SDK if: steps.get-device-type.outputs.device_type == 'real' @@ -1027,7 +1022,7 @@ jobs: python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" python scripts/gha/test_lab.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ + --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ --code_platform cpp \ --key_file scripts/gha-encrypted/gcs_key_file.json - name: Prepare results summary artifact @@ -1035,15 +1030,15 @@ jobs: shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-ios-${{ matrix.build_os }}" && ! -f "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" + if [ -d "testapps/testapps-ios-macos-12" && ! -f "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" fi - name: Upload iOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}* + path: testapps/test-results-ios-macos-12-${{ matrix.ios_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1064,13 +1059,13 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log" + cat "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi test_tvos: - name: test-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }} + name: test-tvos-macos-latest-${{ matrix.tvos_device }} needs: [check_and_prepare, build_tvos] runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() @@ -1078,7 +1073,6 @@ jobs: fail-fast: false matrix: tvos_device: ${{ fromJson(needs.check_and_prepare.outputs.tvos_device) }} - build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -1090,7 +1084,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-tvos-${{ matrix.build_os }} + name: testapps-tvos-macos-12 - name: Setup python uses: actions/setup-python@v2 with: @@ -1111,22 +1105,22 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --tvos_device "${{ matrix.tvos_device }}" \ - --logfile_name "tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}" \ + --logfile_name "tvos-macos-12-${{ matrix.tvos_device }}" \ --ci - name: Prepare results summary artifact if: ${{ !cancelled() }} shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-tvos-${{ matrix.build_os }}" && ! -f "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" + if [ -d "testapps/testapps-tvos-macos-12" && ! -f "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" fi - name: Upload tvOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}* + path: testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1147,7 +1141,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log" + cat "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi From e92d8975608023ae244b28b94c1541aa0ef024e0 Mon Sep 17 00:00:00 2001 From: Mou Date: Mon, 2 May 2022 17:29:40 -0700 Subject: [PATCH 10/16] github runner name --- .github/workflows/integration_tests.yml | 80 +++++++++++++------------ 1 file changed, 43 insertions(+), 37 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 32cbe45d42..81f2c880ed 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -20,7 +20,7 @@ on: required: true operating_systems: description: 'CSV of VMs to run on' - default: 'ubuntu-latest,windows-latest,macos-latest' + default: 'ubuntu-latest,windows-latest,macos-12' required: true desktop_ssl_variants: description: 'CSV of desktop SSL variants to use' @@ -532,12 +532,14 @@ jobs: fi build_ios: - name: build-ios-macos-latest + name: build-ios-${{ matrix.os }} needs: [check_and_prepare] - runs-on: macos-latest + runs-on: ${{ matrix.os }} if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false + matrix: + os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -599,7 +601,7 @@ jobs: --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ --ios_sdk ${{ needs.check_and_prepare.outputs.mobile_test_on }} \ - --artifact_name "ios-macos-latest" \ + --artifact_name "ios-${{ matrix.os }}" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -607,22 +609,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-ios-macos-latest.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-ios-macos-latest.log.json + if [ ! -f build-results-ios-${{ matrix.os }}.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-ios-${{ matrix.os }}.log.json fi - name: Upload iOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-ios-macos-latest - path: testapps-ios-macos-latest + name: testapps-ios-${{ matrix.os }} + path: testapps-ios-${{ matrix.os }} retention-days: ${{ env.artifactRetentionDays }} - name: Upload iOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-ios-macos-latest* + path: build-results-ios-${{ matrix.os }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -643,18 +645,20 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-ios-macos-latest.log + cat build-results-ios-${{ matrix.os }}.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi build_tvos: - name: build-tvos-macos-latest + name: build-tvos-${{ matrix.os }} needs: [check_and_prepare] - runs-on: macos-latest + runs-on: ${{ matrix.os }} if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false + matrix: + os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -715,7 +719,7 @@ jobs: python scripts/gha/build_testapps.py --p tvOS \ --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ - --artifact_name "tvos-macos-latest" \ + --artifact_name "tvos-${{ matrix.os }}" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -723,22 +727,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-tvos-macos-latest.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-tvos-macos-latest.log.json + if [ ! -f build-results-tvos-${{ matrix.os }}.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-tvos-${{ matrix.os }}.log.json fi - name: Upload tvOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-tvos-macos-latest - path: testapps-tvos-macos-latest + name: testapps-tvos-${{ matrix.os }} + path: testapps-tvos-${{ matrix.os }} retention-days: ${{ env.artifactRetentionDays }} - name: Upload tvOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-tvos-macos-latest* + path: build-results-tvos-${{ matrix.os }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -759,7 +763,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-tvos-macos-latest.log + cat build-results-tvos-${{ matrix.os }}.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi @@ -858,7 +862,7 @@ jobs: test_android: name: test-android-${{ matrix.build_os }}-${{ matrix.android_device }} needs: [check_and_prepare, build_android] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'Android') && needs.check_and_prepare.outputs.apis != '' && !cancelled() strategy: fail-fast: false @@ -961,14 +965,15 @@ jobs: fi test_ios: - name: test-ios-macos-latest-${{ matrix.ios_device }} + name: test-ios-${{ matrix.build_os }}-${{ matrix.ios_device }} needs: [check_and_prepare, build_ios] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() strategy: fail-fast: false matrix: ios_device: ${{ fromJson(needs.check_and_prepare.outputs.ios_device) }} + build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -980,7 +985,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-ios-macos-latest + name: testapps-ios-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 with: @@ -1009,7 +1014,7 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-latest-${{ matrix.ios_device }}" \ + --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ --ci - name: Install Cloud SDK if: steps.get-device-type.outputs.device_type == 'real' @@ -1022,7 +1027,7 @@ jobs: python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" python scripts/gha/test_lab.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-latest-${{ matrix.ios_device }}" \ + --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ --code_platform cpp \ --key_file scripts/gha-encrypted/gcs_key_file.json - name: Prepare results summary artifact @@ -1030,15 +1035,15 @@ jobs: shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-ios-macos-latest" && ! -f "testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}.log.json" + if [ -d "testapps/testapps-ios-${{ matrix.build_os }}" && ! -f "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" fi - name: Upload iOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}* + path: testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1059,20 +1064,21 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-ios-macos-latest-${{ matrix.ios_device }}.log" + cat "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi test_tvos: - name: test-tvos-macos-latest-${{ matrix.tvos_device }} + name: test-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }} needs: [check_and_prepare, build_tvos] - runs-on: macos-latest + runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() strategy: fail-fast: false matrix: tvos_device: ${{ fromJson(needs.check_and_prepare.outputs.tvos_device) }} + build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -1084,7 +1090,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-tvos-macos-latest + name: testapps-tvos-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 with: @@ -1105,22 +1111,22 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --tvos_device "${{ matrix.tvos_device }}" \ - --logfile_name "tvos-macos-latest-${{ matrix.tvos_device }}" \ + --logfile_name "tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}" \ --ci - name: Prepare results summary artifact if: ${{ !cancelled() }} shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-tvos-macos-latest" && ! -f "testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}.log.json" + if [ -d "testapps/testapps-tvos-${{ matrix.build_os }}" && ! -f "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" fi - name: Upload tvOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}* + path: testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1141,7 +1147,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-tvos-macos-latest-${{ matrix.tvos_device }}.log" + cat "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi From 87cc2597ffe8db543f90e5129ad8de9aed479ffa Mon Sep 17 00:00:00 2001 From: Mou Date: Tue, 3 May 2022 10:07:34 -0700 Subject: [PATCH 11/16] github runner variable --- .github/workflows/integration_tests.yml | 72 +++++++++++++------------ 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 57ed378522..81f2c880ed 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -532,12 +532,14 @@ jobs: fi build_ios: - name: build-ios-macos-latest + name: build-ios-${{ matrix.os }} needs: [check_and_prepare] - runs-on: macos-12 + runs-on: ${{ matrix.os }} if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false + matrix: + os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -599,7 +601,7 @@ jobs: --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ --ios_sdk ${{ needs.check_and_prepare.outputs.mobile_test_on }} \ - --artifact_name "ios-macos-12" \ + --artifact_name "ios-${{ matrix.os }}" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -607,22 +609,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-ios-macos-12.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-ios-macos-12.log.json + if [ ! -f build-results-ios-${{ matrix.os }}.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-ios-${{ matrix.os }}.log.json fi - name: Upload iOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-ios-macos-12 - path: testapps-ios-macos-12 + name: testapps-ios-${{ matrix.os }} + path: testapps-ios-${{ matrix.os }} retention-days: ${{ env.artifactRetentionDays }} - name: Upload iOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-ios-macos-12* + path: build-results-ios-${{ matrix.os }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -643,18 +645,20 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-ios-macos-12.log + cat build-results-ios-${{ matrix.os }}.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi build_tvos: - name: build-tvos-macos-latest + name: build-tvos-${{ matrix.os }} needs: [check_and_prepare] - runs-on: macos-12 + runs-on: ${{ matrix.os }} if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() && !failure() strategy: fail-fast: false + matrix: + os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -715,7 +719,7 @@ jobs: python scripts/gha/build_testapps.py --p tvOS \ --t ${{ needs.check_and_prepare.outputs.apis }} \ --output_directory "${{ github.workspace }}" \ - --artifact_name "tvos-macos-12" \ + --artifact_name "tvos-${{ matrix.os }}" \ --noadd_timestamp \ --short_output_paths \ ${additional_flags[*]} @@ -723,22 +727,22 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - if [ ! -f build-results-tvos-macos-12.log.json ]; then - echo "__SUMMARY_MISSING__" > build-results-tvos-macos-12.log.json + if [ ! -f build-results-tvos-${{ matrix.os }}.log.json ]; then + echo "__SUMMARY_MISSING__" > build-results-tvos-${{ matrix.os }}.log.json fi - name: Upload tvOS integration tests artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: - name: testapps-tvos-macos-12 - path: testapps-tvos-macos-12 + name: testapps-tvos-${{ matrix.os }} + path: testapps-tvos-${{ matrix.os }} retention-days: ${{ env.artifactRetentionDays }} - name: Upload tvOS build results artifact uses: actions/upload-artifact@v3 if: ${{ !cancelled() }} with: name: log-artifact - path: build-results-tvos-macos-12* + path: build-results-tvos-${{ matrix.os }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -759,7 +763,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat build-results-tvos-macos-12.log + cat build-results-tvos-${{ matrix.os }}.log if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi @@ -961,7 +965,7 @@ jobs: fi test_ios: - name: test-ios-macos-latest-${{ matrix.ios_device }} + name: test-ios-${{ matrix.build_os }}-${{ matrix.ios_device }} needs: [check_and_prepare, build_ios] runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() @@ -969,6 +973,7 @@ jobs: fail-fast: false matrix: ios_device: ${{ fromJson(needs.check_and_prepare.outputs.ios_device) }} + build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -980,7 +985,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-ios-macos-12 + name: testapps-ios-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 with: @@ -1009,7 +1014,7 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ + --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ --ci - name: Install Cloud SDK if: steps.get-device-type.outputs.device_type == 'real' @@ -1022,7 +1027,7 @@ jobs: python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" python scripts/gha/test_lab.py --testapp_dir testapps \ --ios_device "${{ matrix.ios_device }}" \ - --logfile_name "ios-macos-12-${{ matrix.ios_device }}" \ + --logfile_name "ios-${{ matrix.build_os }}-${{ matrix.ios_device }}" \ --code_platform cpp \ --key_file scripts/gha-encrypted/gcs_key_file.json - name: Prepare results summary artifact @@ -1030,15 +1035,15 @@ jobs: shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-ios-macos-12" && ! -f "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log.json" + if [ -d "testapps/testapps-ios-${{ matrix.build_os }}" && ! -f "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log.json" fi - name: Upload iOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-ios-macos-12-${{ matrix.ios_device }}* + path: testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1059,13 +1064,13 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-ios-macos-12-${{ matrix.ios_device }}.log" + cat "testapps/test-results-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi test_tvos: - name: test-tvos-macos-latest-${{ matrix.tvos_device }} + name: test-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }} needs: [check_and_prepare, build_tvos] runs-on: macos-12 if: contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled() @@ -1073,6 +1078,7 @@ jobs: fail-fast: false matrix: tvos_device: ${{ fromJson(needs.check_and_prepare.outputs.tvos_device) }} + build_os: [macos-12] steps: - name: setup Xcode version (macos) if: runner.os == 'macOS' @@ -1084,7 +1090,7 @@ jobs: uses: actions/download-artifact@v3 with: path: testapps - name: testapps-tvos-macos-12 + name: testapps-tvos-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 with: @@ -1105,22 +1111,22 @@ jobs: run: | python scripts/gha/test_simulator.py --testapp_dir testapps \ --tvos_device "${{ matrix.tvos_device }}" \ - --logfile_name "tvos-macos-12-${{ matrix.tvos_device }}" \ + --logfile_name "tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}" \ --ci - name: Prepare results summary artifact if: ${{ !cancelled() }} shell: bash run: | # If testapps do not exist, then it's a build error not test error. - if [ -d "testapps/testapps-tvos-macos-12" && ! -f "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" ]; then - mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log.json" + if [ -d "testapps/testapps-tvos-${{ matrix.build_os }}" && ! -f "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" ]; then + mkdir -p testapps && echo "__SUMMARY_MISSING__" > "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log.json" fi - name: Upload tvOS test results artifact if: ${{ !cancelled() }} uses: actions/upload-artifact@v3 with: name: log-artifact - path: testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}* + path: testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}* retention-days: ${{ env.artifactRetentionDays }} - name: Download log artifacts if: ${{ needs.check_and_prepare.outputs.pr_number && failure() && !cancelled() }} @@ -1141,7 +1147,7 @@ jobs: if: ${{ !cancelled() }} shell: bash run: | - cat "testapps/test-results-tvos-macos-12-${{ matrix.tvos_device }}.log" + cat "testapps/test-results-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}.log" if [[ "${{ job.status }}" != "success" ]]; then exit 1 fi From 302e99fd7fcf4c2fd2e53bf73ee641dcf5cada10 Mon Sep 17 00:00:00 2001 From: Mou Date: Wed, 4 May 2022 09:13:16 -0700 Subject: [PATCH 12/16] resolve merge conflict --- .github/workflows/ios.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index b4284ec105..ef345cf29f 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -30,18 +30,13 @@ jobs: if: github.event.inputs.use_expanded_matrix == '1' run: | echo "EXPANDED_MATRIX_PARAM=-e=1" >> $GITHUB_ENV - - id: export-result + - id:ss export-result run: | echo "::set-output name=matrix_xcode_version::$( python scripts/gha/print_matrix_configuration.py -w ios -k xcode_version ${EXPANDED_MATRIX_PARAM} )" build: -<<<<<<< HEAD - name: ios-macos-latest - runs-on: macos-12 -======= name: ios-${{ matrix.os }}-${{ matrix.xcode_version }} runs-on: ${{ matrix.os }} ->>>>>>> main needs: prepare_matrix strategy: fail-fast: false From 2676ff8b39925dfb687709602b0a09b922287aba Mon Sep 17 00:00:00 2001 From: Mou Date: Wed, 4 May 2022 09:13:46 -0700 Subject: [PATCH 13/16] resolve merge conflict --- .github/workflows/ios.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index ef345cf29f..b02a873e9d 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -30,7 +30,7 @@ jobs: if: github.event.inputs.use_expanded_matrix == '1' run: | echo "EXPANDED_MATRIX_PARAM=-e=1" >> $GITHUB_ENV - - id:ss export-result + - id: export-result run: | echo "::set-output name=matrix_xcode_version::$( python scripts/gha/print_matrix_configuration.py -w ios -k xcode_version ${EXPANDED_MATRIX_PARAM} )" From 0cecddbdf5e96ab884dfc71b8659a22862a00dd7 Mon Sep 17 00:00:00 2001 From: Mou Date: Wed, 4 May 2022 22:28:30 -0700 Subject: [PATCH 14/16] change testapp artifacts download path --- .github/workflows/integration_tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 907627eb28..010d9277b2 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -788,7 +788,7 @@ jobs: - name: Download Desktop integration tests artifact uses: actions/download-artifact@v3 with: - path: testapps + path: testapps/testapps-desktop-${{ matrix.os }}-${{ matrix.ssl_variant }} name: testapps-desktop-${{ matrix.os }}-${{ matrix.ssl_variant }} - name: Setup python uses: actions/setup-python@v2 @@ -879,7 +879,7 @@ jobs: - name: Download Android integration tests artifact uses: actions/download-artifact@v3 with: - path: testapps + path: testapps/testapps-android-${{ matrix.build_os }} name: testapps-android-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 @@ -984,7 +984,7 @@ jobs: - name: Download iOS integration tests artifact uses: actions/download-artifact@v3 with: - path: testapps + path: testapps/testapps-ios-${{ matrix.build_os }} name: testapps-ios-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 @@ -1089,7 +1089,7 @@ jobs: - name: Download tvOS integration tests artifact uses: actions/download-artifact@v3 with: - path: testapps + path: testapps/testapps-tvos-${{ matrix.build_os }} name: testapps-tvos-${{ matrix.build_os }} - name: Setup python uses: actions/setup-python@v2 From 762a04ccb7b82eda6c9e0202576750eccb0c30db Mon Sep 17 00:00:00 2001 From: Mou Date: Thu, 5 May 2022 08:10:12 -0700 Subject: [PATCH 15/16] fix artifact path --- .github/workflows/integration_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 010d9277b2..787031e30f 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -809,7 +809,7 @@ jobs: shell: bash command: | pip install -r scripts/gha/requirements.txt - python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" --artifact testapps + python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" --artifact "testapps/testapps-desktop-${{ matrix.os }}-${{ matrix.ssl_variant }}" - name: Run Desktop integration tests env: USE_FIRESTORE_EMULATOR: true From a1504d285d6eab0ceb90d1a570fa7acd7eb493be Mon Sep 17 00:00:00 2001 From: Mou Date: Thu, 5 May 2022 09:11:16 -0700 Subject: [PATCH 16/16] downgrade the latest simulator version --- scripts/gha/print_matrix_configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index 8fd3513a02..5e845b856e 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -172,7 +172,7 @@ "ios_latest": {"type": "real", "model":"iphone11pro", "version":"14.7"}, "simulator_min": {"type": "virtual", "name":"iPhone 6", "version":"12.4"}, "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"14.5"}, - "simulator_latest": {"type": "virtual", "name":"iPhone 11", "version":"15.4"}, + "simulator_latest": {"type": "virtual", "name":"iPhone 11", "version":"15.2"}, "tvos_simulator": {"type": "virtual", "name":"Apple TV", "version":"14.3"}, }