try partitions - #6834
Conversation
|
@rhcarvalho it works! |
|
@SteffenDE nice 👏 down to 3min. Did you consider partitioning by DB? That was my strategy, because the pulling of DB images is sequential, taking 37-53s of the 3min on all 6 integration test jobs. |
|
We can try, though we have a lot more postgres tests than the other DBs |
|
We can combine both per-DB and test partitions (e.g. for Postgres use 2 partitions). Or we can decide to stop here, we went from 10min to 3min this week :) |
|
It seems indeed about 30 seconds faster, though just partitioning overall is less to think about |
|
|
||
| strategy: | ||
| # Keep running the remaining partitions when one fails, otherwise a single | ||
| # failing partition hides the results of all the others. |
There was a problem hiding this comment.
This was something I thought about this week. The previous approach was abort the other Elixir/OTP if one fails.
With or without partitions, fail-fast: false gives us complete visibility trading off CPU time. The only constraint here is 2,000 free Actions minutes per month:
| elixir: ["1.18.4", "1.20.4"] | ||
| include: | ||
| - elixir: "1.18.4" | ||
| otp: "27.3.4.3" |
There was a problem hiding this comment.
If you do something like this we only need to write the versions once (I have something like this in a local branch):
| elixir: ["1.18.4", "1.20.4"] | |
| include: | |
| - elixir: "1.18.4" | |
| otp: "27.3.4.3" | |
| versions: | |
| - elixir: "1.18.4" | |
| otp: "27.3.4.3" |
Then update the usage sites to be matrix.versions.elixir, etc.
Makes it easier to bump the versions without accidents.

No description provided.