diff --git a/.cirrus.yml b/.cirrus.yml index 0426d56..6325e53 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,6 +1,6 @@ # This file is auto-generated by tools/cirrus_gen_yml.sh -- do not edit manually! -release_linux_x86_64_download_task: +release_linux_x86_64_download_1_task: compute_engine_instance: image_project: cirrus-images image: family/docker-builder @@ -72,87 +72,6 @@ release_linux_x86_64_download_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 1 -release_linux_x86_64_clang_para1_task: - compute_engine_instance: - image_project: cirrus-images - image: family/docker-builder - platform: linux - cpu: 8 - memory: 16G - timeout_in: 120m - out_release_linux_x86_64_cache: - folder: out - fingerprint_script: - - "echo out_release_linux_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out" - out1_release_linux_x86_64_cache: - folder: out_cache1 - fingerprint_script: - - "echo out1_release_linux_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache1" - out2_release_linux_x86_64_cache: - folder: out_cache2 - fingerprint_script: - - "echo out2_release_linux_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache2" - out3_release_linux_x86_64_cache: - folder: out_cache3 - fingerprint_script: - - "echo out3_release_linux_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache3" - git_release_linux_x86_64_cache: - folder: git_clones - fingerprint_script: - - "echo git_release_linux_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p git_clones" - gitindex_release_linux_x86_64_cache: - folder: git_index - fingerprint_script: - - "echo gitindex_release_linux_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p git_index" - interrupted_aa_release_linux_x86_64_cache: - folder: tmp/interrupted_dirs.tar.gz.partaa.folder - fingerprint_script: - - "echo interrupted_aa_release_linux_x86_64" - reupload_on_changes: true - interrupted_ab_release_linux_x86_64_cache: - folder: tmp/interrupted_dirs.tar.gz.partab.folder - fingerprint_script: - - "echo interrupted_ab_release_linux_x86_64" - reupload_on_changes: true - interrupted_ac_release_linux_x86_64_cache: - folder: tmp/interrupted_dirs.tar.gz.partac.folder - fingerprint_script: - - "echo interrupted_ac_release_linux_x86_64" - reupload_on_changes: true - checkpoint_background_script: - # 110m caused the 2hr task timeout to be hit while the cache was uploading - # for macosx-toolchain, which broke subsequent builds. - - sleep 105m - - ./tools/container-interrupt.sh - build_script: - - "./tools/cirrus_build_project.sh clang release linux x86_64 1" - env: - SIGN_BUILD: 0 - env: - CIRRUS_LOG_TIMESTAMP: true - BUMP_DEPS: 0 - RBM_NUM_PROCS: 8 - depends_on: - - "release_linux_x86_64_download" - release_linux_x86_64_gcc_para1_task: compute_engine_instance: image_project: cirrus-images @@ -232,7 +151,7 @@ release_linux_x86_64_gcc_para1_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 8 depends_on: - - "release_linux_x86_64_clang_para1" + - "release_linux_x86_64_download_1" release_linux_x86_64_goeasyconfig_1_task: compute_engine_instance: @@ -728,7 +647,7 @@ release_linux_x86_64_release_sign_task: depends_on: - "release_linux_x86_64_plain-binaries_1" -release_linux_i686_download_task: +release_linux_i686_download_1_task: compute_engine_instance: image_project: cirrus-images image: family/docker-builder @@ -800,87 +719,6 @@ release_linux_i686_download_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 1 -release_linux_i686_clang_para1_task: - compute_engine_instance: - image_project: cirrus-images - image: family/docker-builder - platform: linux - cpu: 8 - memory: 16G - timeout_in: 120m - out_release_linux_i686_cache: - folder: out - fingerprint_script: - - "echo out_release_linux_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out" - out1_release_linux_i686_cache: - folder: out_cache1 - fingerprint_script: - - "echo out1_release_linux_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache1" - out2_release_linux_i686_cache: - folder: out_cache2 - fingerprint_script: - - "echo out2_release_linux_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache2" - out3_release_linux_i686_cache: - folder: out_cache3 - fingerprint_script: - - "echo out3_release_linux_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache3" - git_release_linux_i686_cache: - folder: git_clones - fingerprint_script: - - "echo git_release_linux_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p git_clones" - gitindex_release_linux_i686_cache: - folder: git_index - fingerprint_script: - - "echo gitindex_release_linux_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p git_index" - interrupted_aa_release_linux_i686_cache: - folder: tmp/interrupted_dirs.tar.gz.partaa.folder - fingerprint_script: - - "echo interrupted_aa_release_linux_i686" - reupload_on_changes: true - interrupted_ab_release_linux_i686_cache: - folder: tmp/interrupted_dirs.tar.gz.partab.folder - fingerprint_script: - - "echo interrupted_ab_release_linux_i686" - reupload_on_changes: true - interrupted_ac_release_linux_i686_cache: - folder: tmp/interrupted_dirs.tar.gz.partac.folder - fingerprint_script: - - "echo interrupted_ac_release_linux_i686" - reupload_on_changes: true - checkpoint_background_script: - # 110m caused the 2hr task timeout to be hit while the cache was uploading - # for macosx-toolchain, which broke subsequent builds. - - sleep 105m - - ./tools/container-interrupt.sh - build_script: - - "./tools/cirrus_build_project.sh clang release linux i686 1" - env: - SIGN_BUILD: 0 - env: - CIRRUS_LOG_TIMESTAMP: true - BUMP_DEPS: 0 - RBM_NUM_PROCS: 8 - depends_on: - - "release_linux_i686_download" - release_linux_i686_gcc_para1_task: compute_engine_instance: image_project: cirrus-images @@ -960,7 +798,7 @@ release_linux_i686_gcc_para1_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 8 depends_on: - - "release_linux_i686_clang_para1" + - "release_linux_i686_download_1" release_linux_i686_goeasyconfig_1_task: compute_engine_instance: @@ -1456,7 +1294,7 @@ release_linux_i686_release_sign_task: depends_on: - "release_linux_i686_plain-binaries_1" -release_windows_x86_64_download_task: +release_windows_x86_64_download_1_task: compute_engine_instance: image_project: cirrus-images image: family/docker-builder @@ -1528,87 +1366,6 @@ release_windows_x86_64_download_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 1 -release_windows_x86_64_clang_para1_task: - compute_engine_instance: - image_project: cirrus-images - image: family/docker-builder - platform: linux - cpu: 8 - memory: 16G - timeout_in: 120m - out_release_windows_x86_64_cache: - folder: out - fingerprint_script: - - "echo out_release_windows_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out" - out1_release_windows_x86_64_cache: - folder: out_cache1 - fingerprint_script: - - "echo out1_release_windows_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache1" - out2_release_windows_x86_64_cache: - folder: out_cache2 - fingerprint_script: - - "echo out2_release_windows_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache2" - out3_release_windows_x86_64_cache: - folder: out_cache3 - fingerprint_script: - - "echo out3_release_windows_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache3" - git_release_windows_x86_64_cache: - folder: git_clones - fingerprint_script: - - "echo git_release_windows_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p git_clones" - gitindex_release_windows_x86_64_cache: - folder: git_index - fingerprint_script: - - "echo gitindex_release_windows_x86_64" - reupload_on_changes: true - populate_script: - - "mkdir -p git_index" - interrupted_aa_release_windows_x86_64_cache: - folder: tmp/interrupted_dirs.tar.gz.partaa.folder - fingerprint_script: - - "echo interrupted_aa_release_windows_x86_64" - reupload_on_changes: true - interrupted_ab_release_windows_x86_64_cache: - folder: tmp/interrupted_dirs.tar.gz.partab.folder - fingerprint_script: - - "echo interrupted_ab_release_windows_x86_64" - reupload_on_changes: true - interrupted_ac_release_windows_x86_64_cache: - folder: tmp/interrupted_dirs.tar.gz.partac.folder - fingerprint_script: - - "echo interrupted_ac_release_windows_x86_64" - reupload_on_changes: true - checkpoint_background_script: - # 110m caused the 2hr task timeout to be hit while the cache was uploading - # for macosx-toolchain, which broke subsequent builds. - - sleep 105m - - ./tools/container-interrupt.sh - build_script: - - "./tools/cirrus_build_project.sh clang release windows x86_64 1" - env: - SIGN_BUILD: 0 - env: - CIRRUS_LOG_TIMESTAMP: true - BUMP_DEPS: 0 - RBM_NUM_PROCS: 8 - depends_on: - - "release_windows_x86_64_download" - release_windows_x86_64_mingw-w64_para1_task: compute_engine_instance: image_project: cirrus-images @@ -1688,7 +1445,7 @@ release_windows_x86_64_mingw-w64_para1_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 8 depends_on: - - "release_windows_x86_64_clang_para1" + - "release_windows_x86_64_download_1" release_windows_x86_64_goeasyconfig_1_task: compute_engine_instance: @@ -2184,7 +1941,7 @@ release_windows_x86_64_release_sign_task: depends_on: - "release_windows_x86_64_plain-binaries_1" -release_windows_i686_download_task: +release_windows_i686_download_1_task: compute_engine_instance: image_project: cirrus-images image: family/docker-builder @@ -2256,87 +2013,6 @@ release_windows_i686_download_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 1 -release_windows_i686_clang_para1_task: - compute_engine_instance: - image_project: cirrus-images - image: family/docker-builder - platform: linux - cpu: 8 - memory: 16G - timeout_in: 120m - out_release_windows_i686_cache: - folder: out - fingerprint_script: - - "echo out_release_windows_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out" - out1_release_windows_i686_cache: - folder: out_cache1 - fingerprint_script: - - "echo out1_release_windows_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache1" - out2_release_windows_i686_cache: - folder: out_cache2 - fingerprint_script: - - "echo out2_release_windows_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache2" - out3_release_windows_i686_cache: - folder: out_cache3 - fingerprint_script: - - "echo out3_release_windows_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p out_cache3" - git_release_windows_i686_cache: - folder: git_clones - fingerprint_script: - - "echo git_release_windows_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p git_clones" - gitindex_release_windows_i686_cache: - folder: git_index - fingerprint_script: - - "echo gitindex_release_windows_i686" - reupload_on_changes: true - populate_script: - - "mkdir -p git_index" - interrupted_aa_release_windows_i686_cache: - folder: tmp/interrupted_dirs.tar.gz.partaa.folder - fingerprint_script: - - "echo interrupted_aa_release_windows_i686" - reupload_on_changes: true - interrupted_ab_release_windows_i686_cache: - folder: tmp/interrupted_dirs.tar.gz.partab.folder - fingerprint_script: - - "echo interrupted_ab_release_windows_i686" - reupload_on_changes: true - interrupted_ac_release_windows_i686_cache: - folder: tmp/interrupted_dirs.tar.gz.partac.folder - fingerprint_script: - - "echo interrupted_ac_release_windows_i686" - reupload_on_changes: true - checkpoint_background_script: - # 110m caused the 2hr task timeout to be hit while the cache was uploading - # for macosx-toolchain, which broke subsequent builds. - - sleep 105m - - ./tools/container-interrupt.sh - build_script: - - "./tools/cirrus_build_project.sh clang release windows i686 1" - env: - SIGN_BUILD: 0 - env: - CIRRUS_LOG_TIMESTAMP: true - BUMP_DEPS: 0 - RBM_NUM_PROCS: 8 - depends_on: - - "release_windows_i686_download" - release_windows_i686_mingw-w64_para1_task: compute_engine_instance: image_project: cirrus-images @@ -2416,7 +2092,7 @@ release_windows_i686_mingw-w64_para1_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 8 depends_on: - - "release_windows_i686_clang_para1" + - "release_windows_i686_download_1" release_windows_i686_goeasyconfig_1_task: compute_engine_instance: @@ -2912,7 +2588,7 @@ release_windows_i686_release_sign_task: depends_on: - "release_windows_i686_plain-binaries_1" -release_osx_x86_64_download_task: +release_osx_x86_64_download_1_task: compute_engine_instance: image_project: cirrus-images image: family/docker-builder @@ -2984,7 +2660,7 @@ release_osx_x86_64_download_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 1 -release_osx_x86_64_clang_para1_task: +release_osx_x86_64_clang_osx-para1_task: compute_engine_instance: image_project: cirrus-images image: family/docker-builder @@ -3063,7 +2739,7 @@ release_osx_x86_64_clang_para1_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 8 depends_on: - - "release_osx_x86_64_download" + - "release_osx_x86_64_download_1" release_osx_x86_64_macosx-toolchain_para1_task: compute_engine_instance: @@ -3144,7 +2820,7 @@ release_osx_x86_64_macosx-toolchain_para1_task: BUMP_DEPS: 0 RBM_NUM_PROCS: 8 depends_on: - - "release_osx_x86_64_clang_para1" + - "release_osx_x86_64_clang_osx-para1" release_osx_x86_64_goeasyconfig_1_task: compute_engine_instance: diff --git a/tools/cirrus_gen_yml.sh b/tools/cirrus_gen_yml.sh index f4da863..2cd8943 100755 --- a/tools/cirrus_gen_yml.sh +++ b/tools/cirrus_gen_yml.sh @@ -8,7 +8,7 @@ print_os_arch () { local ARCH="$2" # Pre-download tarballs and Git repos - echo "${CHANNEL}_${OS}_${ARCH}_download_task: + echo "${CHANNEL}_${OS}_${ARCH}_download_1_task: compute_engine_instance: image_project: cirrus-images image: family/docker-builder @@ -81,9 +81,13 @@ print_os_arch () { RBM_NUM_PROCS: 1" echo "" + local PREV_PROJECT_BASE="download" + local PREV_PROJECT_ITER="1" + # TODO fine-tune this list # Use "para" prefix to run with 8 threads; otherwise will use 1 thread. - for PROJECT in clang.para1 compiler.para1 goeasyconfig.1 ncdns.1 ncprop279.1 plain-binaries.1 release.nosign release.sign; do + # Use "osx" prefix to run exclusively for that OS; otherwise will run for all OS's. + for PROJECT in clang.osx-para1 compiler.para1 goeasyconfig.1 ncdns.1 ncprop279.1 plain-binaries.1 release.nosign release.sign; do PROJECT_BASE=$(echo $PROJECT | cut -d . -f 1) if [[ "$PROJECT_BASE" == "compiler" ]]; then if [[ "$OS" == "android" ]]; then @@ -99,13 +103,22 @@ print_os_arch () { PROJECT_BASE=macosx-toolchain fi fi + PROJECT_ITER=$(echo $PROJECT | cut -d . -f 2) + + # Skip inapplicable OS-specific projects + if echo $PROJECT_ITER | grep -q osx && [[ "$OS" != "osx" ]] ; then + continue + fi + + # Run heavy projects with maximum thread count PARA_THREADS=1 PARA_RAM=3 if echo $PROJECT_ITER | grep -q para ; then PARA_THREADS=8 PARA_RAM=16 fi + echo "${CHANNEL}_${OS}_${ARCH}_${PROJECT_BASE}_${PROJECT_ITER}_task: compute_engine_instance: image_project: cirrus-images @@ -203,13 +216,8 @@ print_os_arch () { fi # Depend on previous project - if [[ "$PROJECT" == "clang.para1" ]]; then - echo " depends_on: - - \"${CHANNEL}_${OS}_${ARCH}_download\"" - else - echo " depends_on: + echo " depends_on: - \"${CHANNEL}_${OS}_${ARCH}_${PREV_PROJECT_BASE}_${PREV_PROJECT_ITER}\"" - fi if [[ "$PROJECT_ITER" != "nosign" ]]; then local PREV_PROJECT_BASE="$PROJECT_BASE"