Details
-
Task
-
Resolution: Unresolved
-
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,