From b52647e1cb22d33c4caade490fe9fc6b2aa2d02d Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 00:04:23 +0000 Subject: [PATCH 01/12] For Windows packaging, attempt to speed things up with a pre-merge step. This parallelizes the symbol renaming, with the final merge coming at the end. --- build_scripts/desktop/package.sh | 122 ++++++++++++++++++++++++++----- 1 file changed, 102 insertions(+), 20 deletions(-) diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index cef0a16787..bd4d1d3231 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -39,6 +39,7 @@ binutils_format= temp_dir= run_in_parallel=0 use_llvm_binutils=0 +premerge_threshold=0 . "${root_dir}/build_scripts/packaging.conf" @@ -179,6 +180,7 @@ fi # Desktop packaging settings. if [[ "${platform}" == "windows" ]]; then + premerge_threshold=10 if [[ "${variant}" == *'Debug'* ]]; then subdir='Debug/' suffix='-d' @@ -252,13 +254,22 @@ merge_libraries_params=( --auto_hide_cpp_namespaces --ignore_cpp_namespaces="${allow_cpp_namespaces}" ) +declare -a merge_libraries_params_no_rename +merge_libraries_params_no_rename=( + --binutils_nm_cmd=${binutils_nm} + --binutils_ar_cmd=${binutils_ar} + --binutils_objcopy_cmd=${binutils_objcopy} + --platform=${platform} +) cache_param=--cache=${cache_file} if [[ ${verbose} -eq 1 ]]; then merge_libraries_params+=(--verbosity=3) + merge_libraries_params_no_rename+=(--verbosity=3) fi if [[ -n "${binutils_format}" ]]; then merge_libraries_params+=(--force_binutils_target="${binutils_format}") + merge_libraries_params_no_rename+=(--force_binutils_target="${binutils_format}") fi @@ -335,6 +346,7 @@ for product in ${product_list[*]}; do fi outfile="${full_output_path}/${libfile_out}" rm -f "${outfile}" + if [[ ${verbose} -eq 1 ]]; then echo "${python_cmd}" "${merge_libraries_script}" \ ${merge_libraries_params[*]} \ @@ -344,32 +356,101 @@ for product in ${product_list[*]}; do --hide_c_symbols="${deps_hidden}" \ ${libfile_src} ${deps[*]} fi + merge_script="${merge_libraries_tmp}/merge_${product}.sh" + echo "#!/bin/bash -e" > "${merge_script}" # Place the merge command in a script so we can optionally run them in parallel. - echo "#!/bin/bash -e" > "${merge_libraries_tmp}/merge_${product}.sh" + if [[ premerge_threshold -gt 0 && ${run_in_parallel} -eq 1 && ${#deps[@]} -ge ${premerge_threshold} ]]; then + # Some libraries (e.g. Firestore) have lots of dependencies. To speed + # these up on Windows, split up the dependencies list, and do all parts + # separately in parallel in a "premerge" step. Then do the final merge + # without renaming. + declare -a split_deps + num=0 + reset=0 + split_count=$(( (${#deps[@]}+${premerge_threshold}-1) / ${premerge_threshold} )) + echo "echo \"${libfile_out} SPLIT into ${split_count}\"" >> "${merge_script}" + # Add the original list of deps as a comment in the merge script, to + # preserve its rough size for prioritization purposes. (Since it runs the + # largest script first.) + echo "# ${allfiles} ${deps_hidden} ${deps[*]}" >> "${merge_script}" + # Split the dependencies list into ${split_count} pieces, alternating + # libraries in each list. Put them in size order first. + deps_sorted=$(ls -S ${deps[*]} ${libfile_src}) + if [[ "${deps_sorted}" == *"grpc"* ]]; then + # Special case: if grpc is included, let the largest library (which will + # be grpc) be alone in the 0th slot, so it can take up the entire time + # by itself. + reset=1 + fi + for dep in ${deps_sorted}; do + split_deps[${num}]+="${dep} " + num=$((num+1)) + if [[ ${num} -ge ${split_count} ]]; then num=${reset}; fi + done + # Clear out the dependencies list for later. + libfile_src= + deps=() + # Make a list of the premerge scripts to run in parallel. + for ((num=0; num < ${split_count}; num++)); do + premerge_script="${merge_libraries_tmp}/premerge_${product}_0${num}.sh" + echo "#!/bin/bash -e" > "${premerge_script}" + premerge_out_basename="premerge_${num}_${libfile_out}" + premerge_out="${merge_libraries_tmp}/${premerge_out_basename}" + echo "echo \"${premerge_out_basename} <- ${split_deps[$num]}\"" >> "${premerge_script}" + echo "\"${python_cmd}\" \\ + \"${merge_libraries_script}\" \\ + ${merge_libraries_params[*]} \\ + \"${cache_param}\" \\ + --output=\"${premerge_out}\" \\ + --scan_libs=\"${allfiles}\" \\ + --hide_c_symbols=\"${deps_hidden}\" \\ + ${split_deps[${num}]}" >> "${premerge_script}" + echo "echo \"${premerge_out_basename}\" DONE" >> "${premerge_script}" + chmod u+x "${premerge_script}" + # Add the newly created library to the new dependencies list. + deps+=("${premerge_out}") + done + # In the main merge script, run the premerges in parallel. + if [[ ${use_gnu_parallel} -eq 1 ]]; then + echo \"${parallel_command}\" --lb ::: $(ls "${merge_libraries_tmp}"/premerge_${product}_0*.sh) >> "${merge_script}" + else + echo \"${parallel_command}\" -- $(ls "${merge_libraries_tmp}"/premerge_${product}_0*.sh) >> "${merge_script}" + fi + fi if [[ ! -z ${deps_basenames[*]} ]]; then - echo "echo \"${libfile_out} <- ${deps[*]}\"" >> "${merge_libraries_tmp}/merge_${product}.sh" + echo "echo \"${libfile_out} <- ${deps[*]}\"" >> "${merge_script}" else - echo "echo \"${libfile_out}\"" >> "${merge_libraries_tmp}/merge_${product}.sh" + echo "echo \"${libfile_out}\"" >> "${merge_script}" fi if [[ ! -z ${deps_basenames[*]} ]]; then - echo -n >> "${merge_libraries_tmp}/merge_${product}.sh" + echo -n >> "${merge_script}" + fi + echo >> "${merge_script}" + if [[ -z "${libfile_src}" ]]; then + # If premerge occured, libfile_src was cleared above, so here we just need + # to merge with no rename. This is much faster than the rename step. + echo "\"${python_cmd}\" \\ + \"${merge_libraries_script}\" \\ + ${merge_libraries_params_no_rename[*]} \\ + --output=\"${outfile}\" \\ + ${deps[*]}" >> "${merge_script}" + else + echo "\"${python_cmd}\" \\ + \"${merge_libraries_script}\" \\ + ${merge_libraries_params[*]} \\ + \"${cache_param}\" \\ + --output=\"${outfile}\" \\ + --scan_libs=\"${allfiles}\" \\ + --hide_c_symbols=\"${deps_hidden}\" \\ + \"${libfile_src}\" ${deps[*]}" >> "${merge_script}" + fi + chmod u+x "${merge_script}" + if [[ ${run_in_parallel} -eq 0 ]]; then + # Run immediately if not set to run in parallel. + "${merge_script}" + else + echo "echo \"${libfile_out}\" DONE" >> "${merge_script}" fi - echo >> "${merge_libraries_tmp}/merge_${product}.sh" - echo "\"${python_cmd}\" \\ - \"${merge_libraries_script}\" \\ - ${merge_libraries_params[*]} \\ - \"${cache_param}\" \\ - --output=\"${outfile}\" \\ - --scan_libs=\"${allfiles}\" \\ - --hide_c_symbols=\"${deps_hidden}\" \\ - \"${libfile_src}\" ${deps[*]}" >> "${merge_libraries_tmp}/merge_${product}.sh" - chmod u+x "${merge_libraries_tmp}/merge_${product}.sh" - if [[ ${run_in_parallel} -eq 0 ]]; then - # Run immediately if not set to run in parallel. - "${merge_libraries_tmp}/merge_${product}.sh" - else - echo "echo \"${libfile_out}\" DONE" >> "${merge_libraries_tmp}/merge_${product}.sh" - fi done if [[ ${run_in_parallel} -ne 0 ]]; then @@ -392,6 +473,7 @@ if [[ ${run_in_parallel} -ne 0 ]]; then fi echo "All jobs finished!" fi + cd "${run_path}" echo "Copying extra header files..." From b1afaceb9fed7fa1f67f3c093247507fdcbd66d6 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 00:10:17 +0000 Subject: [PATCH 02/12] Update comment. --- build_scripts/desktop/package.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index bd4d1d3231..edb996f8a7 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -390,7 +390,8 @@ for product in ${product_list[*]}; do # Clear out the dependencies list for later. libfile_src= deps=() - # Make a list of the premerge scripts to run in parallel. + # Create the premerge scripts, which the main merge script will run in + # parallel. for ((num=0; num < ${split_count}; num++)); do premerge_script="${merge_libraries_tmp}/premerge_${product}_0${num}.sh" echo "#!/bin/bash -e" > "${premerge_script}" From 7105e5f3fb743234695378ff462f0d09b4e80dab Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 04:24:57 +0000 Subject: [PATCH 03/12] Package the longest Windows packages on Mac runners, which have an extra CPU core. --- .github/workflows/cpp-packaging.yml | 11 +++++++++-- build_scripts/desktop/package.sh | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index 2d0e7aa54d..803f617663 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -487,15 +487,22 @@ jobs: runs_on_platform: ubuntu-20.04 - sdk_platform: windows suffix: '-x64-Debug-static' - runs_on_platform: ubuntu-20.04 + runs_on_platform: macos-12 - sdk_platform: windows suffix: '-x64-Debug-dynamic' - runs_on_platform: ubuntu-20.04 + runs_on_platform: macos-12 - sdk_platform: darwin runs_on_platform: macos-12 exclude: - sdk_platform: windows suffix: '' + # Package the following two configurations on Mac, with more CPUs. + - sdk_platform: windows + suffix: '-x64-Debug-dynamic' + suffix: ubuntu-20.04 + - sdk_platform: windows + suffix: '-x64-Debug-static' + suffix: ubuntu-20.04 - sdk_platform: darwin runs_on_platform: ubuntu-20.04 steps: diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index edb996f8a7..e8ff50796f 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -180,7 +180,7 @@ fi # Desktop packaging settings. if [[ "${platform}" == "windows" ]]; then - premerge_threshold=10 + premerge_threshold=16 if [[ "${variant}" == *'Debug'* ]]; then subdir='Debug/' suffix='-d' From e413846d2418fcec31d19fbece087503da232643 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 04:26:19 +0000 Subject: [PATCH 04/12] Fix yaml. --- .github/workflows/cpp-packaging.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index 803f617663..4d1796923b 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -499,10 +499,10 @@ jobs: # Package the following two configurations on Mac, with more CPUs. - sdk_platform: windows suffix: '-x64-Debug-dynamic' - suffix: ubuntu-20.04 + runs_on_platform: ubuntu-20.04 - sdk_platform: windows suffix: '-x64-Debug-static' - suffix: ubuntu-20.04 + runs_on_platform: ubuntu-20.04 - sdk_platform: darwin runs_on_platform: ubuntu-20.04 steps: From 823daeeaf8ca070534901076fa61399e3ea7cf25 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 04:41:40 +0000 Subject: [PATCH 05/12] Put the premerge scripts into the main parallel list. Then do the final merge after. --- .github/workflows/cpp-packaging.yml | 11 ++--------- build_scripts/desktop/package.sh | 23 +++++++++++------------ 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index 4d1796923b..2d0e7aa54d 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -487,22 +487,15 @@ jobs: runs_on_platform: ubuntu-20.04 - sdk_platform: windows suffix: '-x64-Debug-static' - runs_on_platform: macos-12 + runs_on_platform: ubuntu-20.04 - sdk_platform: windows suffix: '-x64-Debug-dynamic' - runs_on_platform: macos-12 + runs_on_platform: ubuntu-20.04 - sdk_platform: darwin runs_on_platform: macos-12 exclude: - sdk_platform: windows suffix: '' - # Package the following two configurations on Mac, with more CPUs. - - sdk_platform: windows - suffix: '-x64-Debug-dynamic' - runs_on_platform: ubuntu-20.04 - - sdk_platform: windows - suffix: '-x64-Debug-static' - runs_on_platform: ubuntu-20.04 - sdk_platform: darwin runs_on_platform: ubuntu-20.04 steps: diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index e8ff50796f..d41208f95f 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -356,10 +356,10 @@ for product in ${product_list[*]}; do --hide_c_symbols="${deps_hidden}" \ ${libfile_src} ${deps[*]} fi - merge_script="${merge_libraries_tmp}/merge_${product}.sh" - echo "#!/bin/bash -e" > "${merge_script}" # Place the merge command in a script so we can optionally run them in parallel. + merge_script="${merge_libraries_tmp}/merge_${product}.sh" if [[ premerge_threshold -gt 0 && ${run_in_parallel} -eq 1 && ${#deps[@]} -ge ${premerge_threshold} ]]; then + merge_script="${merge_libraries_tmp}/postmerge_${product}.sh" # Some libraries (e.g. Firestore) have lots of dependencies. To speed # these up on Windows, split up the dependencies list, and do all parts # separately in parallel in a "premerge" step. Then do the final merge @@ -368,11 +368,11 @@ for product in ${product_list[*]}; do num=0 reset=0 split_count=$(( (${#deps[@]}+${premerge_threshold}-1) / ${premerge_threshold} )) - echo "echo \"${libfile_out} SPLIT into ${split_count}\"" >> "${merge_script}" + ### echo "echo \"${libfile_out} SPLIT into ${split_count}\"" >> "${merge_script}" # Add the original list of deps as a comment in the merge script, to # preserve its rough size for prioritization purposes. (Since it runs the # largest script first.) - echo "# ${allfiles} ${deps_hidden} ${deps[*]}" >> "${merge_script}" + ### echo "# ${allfiles} ${deps_hidden} ${deps[*]}" >> "${merge_script}" # Split the dependencies list into ${split_count} pieces, alternating # libraries in each list. Put them in size order first. deps_sorted=$(ls -S ${deps[*]} ${libfile_src}) @@ -390,10 +390,10 @@ for product in ${product_list[*]}; do # Clear out the dependencies list for later. libfile_src= deps=() - # Create the premerge scripts, which the main merge script will run in - # parallel. + # Create the premerge scripts, which will be added to the list of scripts + # to run in parallel. for ((num=0; num < ${split_count}; num++)); do - premerge_script="${merge_libraries_tmp}/premerge_${product}_0${num}.sh" + premerge_script="${merge_libraries_tmp}/merge_${product}_0${num}.sh" echo "#!/bin/bash -e" > "${premerge_script}" premerge_out_basename="premerge_${num}_${libfile_out}" premerge_out="${merge_libraries_tmp}/${premerge_out_basename}" @@ -412,12 +412,8 @@ for product in ${product_list[*]}; do deps+=("${premerge_out}") done # In the main merge script, run the premerges in parallel. - if [[ ${use_gnu_parallel} -eq 1 ]]; then - echo \"${parallel_command}\" --lb ::: $(ls "${merge_libraries_tmp}"/premerge_${product}_0*.sh) >> "${merge_script}" - else - echo \"${parallel_command}\" -- $(ls "${merge_libraries_tmp}"/premerge_${product}_0*.sh) >> "${merge_script}" - fi fi + echo "#!/bin/bash -e" > "${merge_script}" if [[ ! -z ${deps_basenames[*]} ]]; then echo "echo \"${libfile_out} <- ${deps[*]}\"" >> "${merge_script}" else @@ -472,6 +468,9 @@ if [[ ${run_in_parallel} -ne 0 ]]; then # Default version of parallel has a slightly different syntax. "${parallel_command}" -- $(ls -S "${merge_libraries_tmp}"/merge_*.sh) fi + for postmerge in $(ls "${merge_libraries_tmp}"/postmerge_*.sh 2> /dev/null); do + ${postmerge} + done echo "All jobs finished!" fi From 8ca6db66128f2495db0fd1e157c1c00368dd8a1f Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 05:01:38 +0000 Subject: [PATCH 06/12] Make sure to start the grpc merge first. --- build_scripts/desktop/package.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index d41208f95f..1f2f6eb7e0 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -40,6 +40,10 @@ temp_dir= run_in_parallel=0 use_llvm_binutils=0 premerge_threshold=0 +# With this setting, if a given merge is split into multiple subtasks, this will +# process the "grpc" library on its own; since it's by far the largest library, +# this optimization speeds things up. +grpc_special_case=1 . "${root_dir}/build_scripts/packaging.conf" @@ -376,7 +380,7 @@ for product in ${product_list[*]}; do # Split the dependencies list into ${split_count} pieces, alternating # libraries in each list. Put them in size order first. deps_sorted=$(ls -S ${deps[*]} ${libfile_src}) - if [[ "${deps_sorted}" == *"grpc"* ]]; then + if [[ ${grpc_special_case} -eq 1 && "${deps_sorted}" == *"grpc"* ]]; then # Special case: if grpc is included, let the largest library (which will # be grpc) be alone in the 0th slot, so it can take up the entire time # by itself. @@ -395,6 +399,11 @@ for product in ${product_list[*]}; do for ((num=0; num < ${split_count}; num++)); do premerge_script="${merge_libraries_tmp}/merge_${product}_0${num}.sh" echo "#!/bin/bash -e" > "${premerge_script}" + if [[ $num -eq 0 && ${grpc_special_case} -eq 1 && "${split_deps[$num]}" == *"grpc"* ]]; then + # Special case: fake the 0th set with "grpc" as being quite large, so + # it gets scheduled first. + echo "# ${split_deps[*]}" >> "${premerge_script}" + fi premerge_out_basename="premerge_${num}_${libfile_out}" premerge_out="${merge_libraries_tmp}/${premerge_out_basename}" echo "echo \"${premerge_out_basename} <- ${split_deps[$num]}\"" >> "${premerge_script}" From 7185bf04f3485560d6ac9baddadda8a29b9b875c Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 07:11:00 +0000 Subject: [PATCH 07/12] Package Windows debug builds on Mac runners, which have more CPUs. --- .github/workflows/cpp-packaging.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index 2d0e7aa54d..ddefbb0b77 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -479,18 +479,19 @@ jobs: - sdk_platform: windows suffix: '-x64-Release-dynamic' runs_on_platform: ubuntu-20.04 + # Debug builds take longer, so run on Mac runners which have 3 CPUs. - sdk_platform: windows suffix: '-x86-Debug-static' - runs_on_platform: ubuntu-20.04 + runs_on_platform: macos-12 - sdk_platform: windows suffix: '-x86-Debug-dynamic' - runs_on_platform: ubuntu-20.04 + runs_on_platform: macos-12 - sdk_platform: windows suffix: '-x64-Debug-static' - runs_on_platform: ubuntu-20.04 + runs_on_platform: macos-12 - sdk_platform: windows suffix: '-x64-Debug-dynamic' - runs_on_platform: ubuntu-20.04 + runs_on_platform: macos-12 - sdk_platform: darwin runs_on_platform: macos-12 exclude: From 4b0eaf33a79de4124476b27be2b58bf8e4b0ca12 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 16:04:20 +0000 Subject: [PATCH 08/12] Set packagers back to Linux. --- .github/workflows/cpp-packaging.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index ddefbb0b77..1efb99b9d0 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -482,16 +482,16 @@ jobs: # Debug builds take longer, so run on Mac runners which have 3 CPUs. - sdk_platform: windows suffix: '-x86-Debug-static' - runs_on_platform: macos-12 + runs_on_platform: ubuntu-20.04 - sdk_platform: windows suffix: '-x86-Debug-dynamic' - runs_on_platform: macos-12 + runs_on_platform: ubuntu-20.04 - sdk_platform: windows suffix: '-x64-Debug-static' - runs_on_platform: macos-12 + runs_on_platform: ubuntu-20.04 - sdk_platform: windows suffix: '-x64-Debug-dynamic' - runs_on_platform: macos-12 + runs_on_platform: ubuntu-20.04 - sdk_platform: darwin runs_on_platform: macos-12 exclude: From 9ee63e06b4cb61a07165ba7a1d8a57b769dc4520 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Wed, 10 May 2023 16:06:00 +0000 Subject: [PATCH 09/12] Try building with more parallelization. --- build_scripts/desktop/package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index 1f2f6eb7e0..b41742b7be 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -184,7 +184,7 @@ fi # Desktop packaging settings. if [[ "${platform}" == "windows" ]]; then - premerge_threshold=16 + premerge_threshold=8 if [[ "${variant}" == *'Debug'* ]]; then subdir='Debug/' suffix='-d' From 00db6d3f6bb5b8a8d41bf58931d66a1676602154 Mon Sep 17 00:00:00 2001 From: jonsimantov Date: Thu, 11 May 2023 20:31:45 +0000 Subject: [PATCH 10/12] Reduce parallelization. --- build_scripts/desktop/package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index b41742b7be..6dd55d4068 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -184,7 +184,7 @@ fi # Desktop packaging settings. if [[ "${platform}" == "windows" ]]; then - premerge_threshold=8 + premerge_threshold=20 if [[ "${variant}" == *'Debug'* ]]; then subdir='Debug/' suffix='-d' From 480a5237a213be688f2536baef0cf125b7ef6129 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Thu, 11 May 2023 22:43:03 -0700 Subject: [PATCH 11/12] Up threshold again. --- build_scripts/desktop/package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_scripts/desktop/package.sh b/build_scripts/desktop/package.sh index 6dd55d4068..f9909e3b04 100755 --- a/build_scripts/desktop/package.sh +++ b/build_scripts/desktop/package.sh @@ -184,7 +184,7 @@ fi # Desktop packaging settings. if [[ "${platform}" == "windows" ]]; then - premerge_threshold=20 + premerge_threshold=40 if [[ "${variant}" == *'Debug'* ]]; then subdir='Debug/' suffix='-d' From 86504bf996fdf4f2ec4f6700c6940c63b50f4d76 Mon Sep 17 00:00:00 2001 From: Jon Simantov Date: Mon, 15 May 2023 15:50:44 -0700 Subject: [PATCH 12/12] Revert change. --- .github/workflows/cpp-packaging.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index 1efb99b9d0..2d0e7aa54d 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -479,7 +479,6 @@ jobs: - sdk_platform: windows suffix: '-x64-Release-dynamic' runs_on_platform: ubuntu-20.04 - # Debug builds take longer, so run on Mac runners which have 3 CPUs. - sdk_platform: windows suffix: '-x86-Debug-static' runs_on_platform: ubuntu-20.04