I am beginning to look at updating some of our test infrastructure by
re-writing Jenkins jobs into the pipeline plugin [1]. This is a new style,
with a different way of both writing and thinking about how jobs are
crafted. I've started this work by attempting to write jobs for both
Foreman and Katello [2].

The current test_develop job for Foreman (which runs after pull requests
are merged) is a 4x3 matrix resulting in 12 different configurations
running. They are:

 ruby: 2.1, 2.2, 2.3, 3.4
 databases: mysql, postgresql, sqlite3

I would like to propose the following:

 1) We drop sqlite3 entirely
 2) We test all rubies on postgresql only
 3) We pick the most widely used Ruby version and test mysql with that

This would effectively reduce the number of test runs in the matrix to 5
which should in theory increase throughput of testing and keep things
focused on the most important pieces to test. Further, sqlite3 is not a
production database so I feel it not worth the resources (but it would only
add one more job to keep it). I also don't see how Ruby version should
affect database choice and thus find no reason to run the full matrix
across all rubies for Mysql.

>From what I think I know, of the Rubies:

 2.2 -- used in RPM production
 2.1, 2.3, 2.4 -- used by Debian production

[1] https://jenkins.io/doc/book/pipeline/
[2] https://github.com/theforeman/foreman-infra/pull/321

-- 
Eric D. Helms
Red Hat Engineering

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to