Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MNT Split behat jobs #1219

Merged
merged 1 commit into from
Jul 21, 2024

Conversation

emteknetnz
Copy link
Member

@emteknetnz emteknetnz commented Jul 15, 2024

Issue silverstripe/.github#278

--prefer-lowest unit test failure is existing

@emteknetnz emteknetnz force-pushed the pulls/5.2/tag branch 2 times, most recently from 9d429bd to 417d136 Compare July 16, 2024 00:13
Copy link
Member

@GuySartorelli GuySartorelli left a comment

Choose a reason for hiding this comment

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

6 jobs seems excessive - how did you determine which features would be for which job?

Will hold off looking at the others pending a response.

@emteknetnz
Copy link
Member Author

emteknetnz commented Jul 18, 2024

I looked at the total run time of the endtoend job in github actions for each module. If it was over 10 minutes then I'd split look to split it so the total run time should be roughly 8 minutes or so e.g. a 24 minute run time would get split to 3x jobs

Elemental endtoend was something like 55 minutes so I split it 6 ways

I split things by simply dividing the total number of features files by the number of jobs I wanted, e.g. if I was going to split into 3 jobs, and there were 14 feature file, then the first 5 would be job1, the next 5 job2, and the last 4 job3

I don't expect things to be perfectly even, some jobs are likely to still be over 10 minutes because they have a couple of very long running feature files. We can make fine adjustments later on if needed

@GuySartorelli
Copy link
Member

Most of the jobs are around 5 mins, but job 3 is around 13 mins - up to you if you want to rebalance that. If you don't, just say so and I'll merge as-is (assuming that last one that's running right now goes green)

@emteknetnz
Copy link
Member Author

Have tried to rebalance, we'll see how it goes

@emteknetnz
Copy link
Member Author

emteknetnz commented Jul 18, 2024

Have rebalanced - note that the PHP 8.3 / MySQL 8.0 jobs are probably actual legit failures, not sure why they've only cropped up now. They should be resolved in a PR that is not this one.

Another note - this targets 5.2, while theres about another 200 steps in 5, so we'll need to rebalance this again after merge up, probably wait until after #1215 is all merged before doing that

@GuySartorelli
Copy link
Member

Running CI on 5.2 to see if those failures happen there: https://github.com/silverstripe/silverstripe-elemental/actions/runs/9998847588

@GuySartorelli
Copy link
Member

That CI run passes behat... so not sure what's causing the failures, but it's new to this PR.

@emteknetnz
Copy link
Member Author

Looks like an auto-increment issue with mysql8 - should be fixed with this PR silverstripe/silverstripe-framework#11309

Copy link
Member

@GuySartorelli GuySartorelli left a comment

Choose a reason for hiding this comment

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

LGTM

@GuySartorelli GuySartorelli merged commit b6430c7 into silverstripe:5.2 Jul 21, 2024
22 of 23 checks passed
@GuySartorelli GuySartorelli deleted the pulls/5.2/tag branch July 21, 2024 21:19
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