From d4baf64a2da1a785d428888f3ce047367ccc2a7a Mon Sep 17 00:00:00 2001 From: Daniel Moody Date: Thu, 3 Feb 2022 11:43:43 -0600 Subject: SERVER-60891 Make specialized ninja evergreen builders for common platforms. --- .gitignore | 1 + etc/evergreen.yml | 78 ++++++++++++++++++++++++++++++++++++++++------ evergreen/ninja_compile.sh | 5 ++- 3 files changed, 73 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 33cf47812e8..9b90923a4d9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ /perf.data /perf.data.old /massif.out.* +venv *~ *.swp diff --git a/etc/evergreen.yml b/etc/evergreen.yml index 81d3978f5f7..8c2661b2662 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -7785,18 +7785,12 @@ buildvariants: - name: compile_test_and_package_serial_TG distros: - ubuntu1804-build - - name: compile_ninja_next_TG - distros: - - ubuntu1804-build - name: compile_build_tools_next_TG distros: - ubuntu1804-build - name: libdeps_graph_linting_TG distros: - ubuntu1804-build - - name: compile_ninja_TG - distros: - - ubuntu1804-build - name: build_variant_gen - name: .csfle - name: .publish_csfle @@ -7843,6 +7837,27 @@ buildvariants: tasks: - name: tla_plus +- name: enterprise-ubuntu1804-64-ninja + display_name: "Ninja Build: Enterprise Ubuntu 18.04" + cron: "0 0 * * *" # Every day starting at midnight + modules: + - enterprise + run_on: + - ubuntu1804-test + stepback: false + expansions: + compile_flags: --ssl --ocsp-stapling=off MONGO_DISTMOD=ubuntu1804 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars + repo_edition: enterprise + has_packages: false + tasks: + - name: compile_ninja_next_TG + distros: + - ubuntu1804-build + - name: compile_ninja_TG + distros: + - ubuntu1804-build + + - name: enterprise-ubuntu1804-arm64 display_name: Enterprise Ubuntu 18.04 arm64 cron: "0 12 * * *" # Every day starting at 12:00 @@ -9119,6 +9134,21 @@ buildvariants: <<: *enterprise-windows-nopush-expansions-template use_wt_develop: true +- name: enterprise-windows-ninja + display_name: "Ninja Build: Enterprise Windows" + cron: "0 0 * * *" # Every day starting at midnight + modules: + - enterprise + expansions: + compile_flags: --ssl MONGO_DISTMOD=windows CPPPATH="c:/sasl/include c:/snmp/include" LIBPATH="c:/sasl/lib c:/snmp/lib" -j$(bc <<< "$(grep -c '^processor' /proc/cpuinfo) / 1.5") --win-version-min=win10 + tasks: + - name: compile_ninja_next_TG + distros: + - windows-vsCurrent-large + - name: compile_ninja_TG + distros: + - windows-vsCurrent-large + - name: enterprise-windows-inmem display_name: Enterprise Windows (inMemory) cron: "0 12 * * *" # Every day starting at 12:00 @@ -9376,9 +9406,6 @@ buildvariants: - name: compile_and_archive_dist_test_then_package_TG distros: - windows-vsCurrent-large - - name: compile_ninja_next_TG - distros: - - windows-vsCurrent-large - name: compile_build_tools_next_TG distros: - windows-vsCurrent-large @@ -9490,7 +9517,6 @@ buildvariants: resmoke_jobs_max: 6 tasks: - name: compile_test_and_package_serial_TG - - name: compile_ninja_next_TG - name: compile_build_tools_next_TG - name: libdeps_graph_linting_TG - name: build_variant_gen @@ -9513,6 +9539,20 @@ buildvariants: distros: - rhel70-small +- name: macos-enterprise-ninja + display_name: "Ninja Build: macOS Enterprise" + cron: "0 0 * * *" # Every day starting at midnight + modules: + - enterprise + run_on: + - macos-1100 + expansions: + compile_env: DEVELOPER_DIR=/Applications/Xcode13.app + compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars + tasks: + - name: compile_ninja_next_TG + - name: compile_ninja_TG + - name: enterprise-macos-rosetta-2 display_name: "Enterprise macOS Via Rosetta 2" cron: "0 12 * * *" # Every day starting at 12:00 @@ -9893,6 +9933,24 @@ buildvariants: distros: - rhel80-xlarge +- name: enterprise-rhel-80-64-bit-dynamic-required-ninja + display_name: "Ninja Build: Enterprise RHEL 8.0" + cron: "0 0 * * *" # Every day at midnight + modules: + - enterprise + run_on: + - rhel80-small + expansions: + compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars --link-model=dynamic + has_packages: false + tasks: + - name: compile_ninja_next_TG + distros: + - rhel80-xlarge + - name: compile_ninja_TG + distros: + - rhel80-xlarge + - &enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required-template name: enterprise-rhel-80-64-bit-dynamic-all-feature-flags-required display_name: "! Shared Library Enterprise RHEL 8.0 (all feature flags)" diff --git a/evergreen/ninja_compile.sh b/evergreen/ninja_compile.sh index eea669343fe..f3b51ae5e1d 100644 --- a/evergreen/ninja_compile.sh +++ b/evergreen/ninja_compile.sh @@ -10,8 +10,11 @@ python -m pip install ninja if [ "Windows_NT" = "$OS" ]; then vcvars="$(vswhere -latest -property installationPath | tr '\\' '/' | dos2unix.exe)/VC/Auxiliary/Build/" echo "call \"$vcvars/vcvarsall.bat\" amd64" > msvc.bat + for i in "${compile_env[@]}"; do + echo "set $i" >> msvc.bat + done echo "ninja install-core" >> msvc.bat cmd /C msvc.bat else - ninja install-core + eval ${compile_env} ninja install-core fi -- cgit v1.2.1