Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-33963

Use an Evergreen task group for compile-related tasks

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      TIG 2018-04-09, TIG 2018-04-23, TIG 2018-05-07
    • Linked BF Score:
      61

      Description

      We made changes in SERVER-25691 and SERVER-27483 to avoid having compiling, linking, and running all of the C++ unit tests from having a signficant impact on the makespan of a full patch build by reducing the amount of time the compile task takes. Switching to represent these units of work as part of an Evergreen task group should save EC2 machine time (not necessarily wall-clock time) because we'll be able to reuse the build artifacts from the machine's local SCons cache (which should be even faster than the shared SCons cache) and avoid duplicate work.

      Per an in-person discussion with Cristopher Stauffer and Andrew Morrow, we'll likely want to have the following Evergreen tasks execute as part of a task group with max_hosts=1:

      • compile: runs SCons with the core, tools, dbtest, integration_tests, dist, dist-debugsymbols, distsrc-${ext|tgz}, and ${msi_target|} targets
      • compile_unittests: runs SCons with the unittests target
      • unittests: runs the C++ unit tests via resmoke.py (depends on compile_unittests)
      • compile_benchmarks: runs SCons wtih the benchmarks target
      • benchmarks_orphaned: runs the C++ microbenchmarks via resmoke.py (depends on compile_benchmarks)
      • compile_all: runs SCons with the all target

      Note: There were some ideas to also have compile_dist and compile_dagger tasks, but adding those should be done as follow-up work either on this ticket or another one.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jonathan.abrahams Jonathan Abrahams
              Reporter:
              max.hirschhorn Max Hirschhorn
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: