Skip to content

try partitions - #6834

Open
SteffenDE wants to merge 2 commits into
mainfrom
sd-integration-test-partition
Open

try partitions#6834
SteffenDE wants to merge 2 commits into
mainfrom
sd-integration-test-partition

Conversation

@SteffenDE

Copy link
Copy Markdown
Member

No description provided.

@SteffenDE

Copy link
Copy Markdown
Member Author

@rhcarvalho it works!

@SteffenDE
SteffenDE marked this pull request as ready for review September 4, 2026 13:29
@rhcarvalho

Copy link
Copy Markdown
Contributor

@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.

@SteffenDE

Copy link
Copy Markdown
Member Author

We can try, though we have a lot more postgres tests than the other DBs

@rhcarvalho

Copy link
Copy Markdown
Contributor

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 :)

@SteffenDE

Copy link
Copy Markdown
Member Author

It seems indeed about 30 seconds faster, though just partitioning overall is less to think about

#6835

Comment thread .github/workflows/ci.yml

strategy:
# Keep running the remaining partitions when one fails, otherwise a single
# failing partition hides the results of all the others.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

Comment thread .github/workflows/ci.yml
Comment on lines +239 to 242
elixir: ["1.18.4", "1.20.4"]
include:
- elixir: "1.18.4"
otp: "27.3.4.3"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you do something like this we only need to write the versions once (I have something like this in a local branch):

Suggested change
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.

@rhcarvalho

Copy link
Copy Markdown
Contributor
image

This looks funny, the same job for push and pull_request triggers...

I'll fix it. It should be only pushes on main, I suspect?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants