Migrate build configuration matrix to Earthly

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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,

            Assignee:
            Unassigned
            Reporter:
            Colby Pike
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: