silverstripe / silverstripe-elemental

Create pages in Silverstripe CMS using content blocks
http://dna.co.nz
BSD 3-Clause "New" or "Revised" License
109 stars 115 forks source link

MNT Split behat jobs #1219

Closed emteknetnz closed 1 month ago

emteknetnz commented 1 month ago

Issue https://github.com/silverstripe/.github/issues/278

--prefer-lowest unit test failure is existing

emteknetnz commented 1 month ago

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 commented 1 month ago

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 commented 1 month ago

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

emteknetnz commented 1 month ago

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 https://github.com/silverstripe/silverstripe-elemental/issues/1215 is all merged before doing that

GuySartorelli commented 1 month ago

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

GuySartorelli commented 1 month ago

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

emteknetnz commented 1 month ago

Looks like an auto-increment issue with mysql8 - should be fixed with this PR https://github.com/silverstripe/silverstripe-framework/pull/11309