Sorry, the CI config currently lives in a separate repository. That was originally to allow it to be found & applied for older commits / branches — but I need to move it into the main repo now for future master work: between combining several old files and support for several Rails branches, it’s currently quite tangled.
The part you’re looking for is here:
More importantly for the immediate concern, the fact it’s in a separate repo means it’s harder to test a PRed change to the build config itself. Oops!
Until I fix that, the simplest option is probably to do the docker run locally, with something like:
git clone https://github.com/rails/buildkite-config .buildkite/
RUBY_IMAGE=ruby:2.6 docker-compose -f .buildkite/docker-compose.yml build base &&
CI=1 MYSQL_IMAGE=mariadb:10.4 docker-compose -f .buildkite/docker-compose.yml run mysqldb runner activerecord 'rake db:mysql:rebuild test:mysql2'
And to fully clear things out between runs (the MYSQL_IMAGE is particularly sticky):
docker-compose -f .buildkite/docker-compose.yml rm --stop mysql
I just ran the above command to check I had it right, and all the tests were green.
Sorry this process got much uglier. I’ll try to make it better again in future. ♂
This does have me thinking… in retrospect, as we’ve previously seen test incompatibilities between major versions (on all the RDBMSes, at various times), maybe using ‘latest’ is a mistake, and the build config should always use a specific major version. ¯\_(ツ)_/¯