summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Moody <daniel.moody@mongodb.com>2022-02-03 11:43:43 -0600
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-03 20:34:57 +0000
commitd4baf64a2da1a785d428888f3ce047367ccc2a7a (patch)
treefc1ece8b9799cbe1af404f711a8bd341703e318f
parentbf96dbdca5e9c23cf541cb6f53292a18d837cde5 (diff)
downloadmongo-d4baf64a2da1a785d428888f3ce047367ccc2a7a.tar.gz
SERVER-60891 Make specialized ninja evergreen builders for common platforms.
-rw-r--r--.gitignore1
-rw-r--r--etc/evergreen.yml78
-rw-r--r--evergreen/ninja_compile.sh5
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