CI against MariaDB 10.4 GA

14 views
Skip to first unread message

Yasuo Honda

unread,
Jun 18, 2019, 8:17:15 PM6/18/19
to Ruby on Rails: Core
Hi,

I'd like to know how to run Ci against MariaDB 10.4 at https://buildkite.com/rails/rails

Because I used to bump MariaDB version to the latest one when the new GA version was released.

 
MariaDB 10.4.6 has been released on Jun 18th, https://mariadb.com/kb/en/library/mariadb-1046-release-notes/ 
I also wanted to run CI against 10.4.6 and wanted to know how since Rails CI has been migrated from Travis CI to Buildkite.


Thanks,
--
Yasuo Honda

Matthew Draper

unread,
Jun 19, 2019, 12:42:58 AM6/19/19
to rubyonra...@googlegroups.com

Hey!


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:
https://github.com/rails/buildkite-config/blob/51686de9826737342f672a0fde39c47268c25df5/pipeline-generate#L225-L230

which overrides:
https://github.com/rails/buildkite-config/blob/51686de9826737342f672a0fde39c47268c25df5/docker-compose.yml#L104



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:

cd rails
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. ¯\_(ツ)_/¯



Matthew
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-co...@googlegroups.com.
> To post to this group, send email to rubyonra...@googlegroups.com.
> Visit this group at https://groups.google.com/group/rubyonrails-core.
> To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-core/5fc29ce9-0295-475b-b216-9768885fd857%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Yasuo Honda

unread,
Jun 19, 2019, 8:35:31 PM6/19/19
to rubyonra...@googlegroups.com
Thank for the useful information. 

I just recall the name of https://github.com/rails/buildkite-config but did not know how to use it.
Running Active Record unit test locally against MariaDB 10.4 works like a charm.

I agree that each CI should specify the major version of each RDBMS and look forward that buildkite-config repository takes pull requests to test themselves.

Thanks,
--
Yasuo Honda


Reply all
Reply to author
Forward
0 new messages