CI against MariaDB 10.4 GA

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

CI against MariaDB 10.4 GA

Yasuo Honda
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

--
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 [hidden email].
To post to this group, send email to [hidden email].
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.
Reply | Threaded
Open this post in threaded view
|

Re: CI against MariaDB 10.4 GA

Matthew Draper

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



> On 19 Jun 2019, at 09:47, Yasuo Honda <[hidden email]> wrote:
>
> 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.3
> https://github.com/rails/rails/pull/33028
>
> * MariaDB 10.4
> https://github.com/rails/rails/pull/29850
>  
> 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
>
> --
> 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 [hidden email].
> To post to this group, send email to [hidden email].
> 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.

--
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 [hidden email].
To post to this group, send email to [hidden email].
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/5C7856A5-E343-4C45-89AD-9FC45EF39B6C%40trebex.net.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: CI against MariaDB 10.4 GA

Yasuo Honda
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


On Wed, Jun 19, 2019 at 1:42 PM Matthew Draper <[hidden email]> wrote:

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



> On 19 Jun 2019, at 09:47, Yasuo Honda <[hidden email]> wrote:
>
> 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.3
> https://github.com/rails/rails/pull/33028
>
> * MariaDB 10.4
> https://github.com/rails/rails/pull/29850

> 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
>
> --
> 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 [hidden email].
> To post to this group, send email to [hidden email].
> 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.

--
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 [hidden email].
To post to this group, send email to [hidden email].
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/5C7856A5-E343-4C45-89AD-9FC45EF39B6C%40trebex.net.
For more options, visit https://groups.google.com/d/optout.

--
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 [hidden email].
To post to this group, send email to [hidden email].
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/CAKmOUTm4MRx8G%2BTo%2BMs7a26%3DanKormFSeh_%2B%2BVnB2F7BGVEKYw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.