[CDRIVER-4731] Migrate build configuration matrix to Earthly Created: 22/Sep/23 Updated: 25/Sep/23 |
|
| Status: | Backlog |
| Project: | C Driver |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Unknown |
| Reporter: | Colby Pike | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Earthly supports automatic build matrices by providing multiple arguments for a single parameter in a BUILD invocation:
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, |