Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, all tasks are in the same job. As a result, CI takes almost 10 minutes to run.
These changes split up this large job into many smaller ones, one for each task. That way, they can be executed concurrently. This cuts CI times by ~10X with cache and still by ~2X without cache.
This causes some actions like the system setup to be performed repeatedly for each job, but the impact of this can be reduced by skipping the most expensive steps such as installing CPLEX and building all solvers. Instead, we only install the necessary system deps and only build the solver relevant for each test. (If you still do not want to perform the remaining computations redundantly for some reason, that's not a big deal, feel free to leave a comment and close this—it's just a suggestion.)