Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-4731

Migrate build configuration matrix to Earthly

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Unknown Unknown
    • None
    • None
    • None
    • None

    Description

      Earthly supports automatic build matrices by providing multiple arguments for a single parameter in a BUILD invocation:

      BUILD +build --tls=OpenSSL --tls=LibreSSL --zlib=bundled --zlib=system

      which executes the cross product of all argument values in parallel.

      While this could be used within a single EVG task, it can become resource intensive on the single task runner and is difficult to inspect at a glance on the task table. This feature is still very useful for local development, and can be extremely fast and efficient when combined with Ccache.

      The better alternative for EVG is to add a level of indirection and generate unique Earthly-based tasks for configuration combinations that we want to test. This will overlap with existing task matrix code that exists for other platforms.

      Proposed: Migrate existing tasks on other Linux platforms to use Earthly tasks for configuration matrices, which will better utilize build resources, enhance reproducibility, and isolate tasks from the build hosts by containerizing the work,

      Attachments

        Activity

          People

            Unassigned Unassigned
            colby.pike@mongodb.com Colby Pike
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: