[Infra] Reducing Test Matrix

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

I think, Jenkins pipelines are a good thing and can make the Job
configuration a lot easier. I'd like to to pitch some ideas. First of
all I would propose putting the Jenkinsfile(s) in the repos alongside
the code so it's more visible what happens and the job configuration
follows the code lifecycle.
I've also grown fond of the Docker Plugin for Jenkins. With that you can
easily run tests under different ruby versions. I found that easier to
setup then rvm. If you'd like, I can share the code snippets. But it's
rather trivial to connfigure.
You could also try to put the databases in a container. While I usually
don't recommend this, it might be a good architectural choice for a CI
system as you don't really need to persist data. It could also greatly
decouple the jobs from the jenkins system. But first things first.

One more thing: If we have more capacity, we could start replacing
HoundCI by our own linting again.

Timo

··· Am 23.08.17 um 01:44 schrieb Eric D Helms:

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

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

:-1: Having an option to use sqlite3 is very convenient for small patch
devel setup, I would vote to keep it at least for one ruby version

– Ivan

··· On Wed, 23 Aug 2017 at 01:44, Eric D Helms wrote:
  1. We test all rubies on postgresql only
  2. 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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

After 1.16 branching, we will be dropping Ruby 2.1 which is only needed for
Debian Jessie iirc.

··· On Wed, Aug 23, 2017 at 2:44 AM, Eric D Helms wrote:

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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Have a nice day,
Tomer Brisker
Red Hat Engineering

Hi,

> 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].

+1!

> 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

At least one Ruby version should get tested with sqlite3, as almost all
dev setups will be sqlite and that's making it easy to reproduce test
failures.

> 3) We pick the most widely used Ruby version and test mysql with that

Sounds OK.

> 2.2 – used in RPM production

This will need to get updated for Rails 5 anyway.

> 2.1, 2.3, 2.4 – used by Debian production

2.1 is Debian/jessie, which will be dropped with Rails 5. 2.4 is not
used in any Debian or Ubuntu version and it's highly likely that
Debian/unstable (and thus the next Ubuntu LTS 18.04) will go from 2.3 to
2.5 directly.

At the end with Rails 5 only Ruby 2.3 and 2.4 would stay and 2.5 get
added in Q1/2018. Depending on the RPM situation 2.4 could get dropped
theroretically again in Q2/2018.

Regards

··· On Tue, Aug 22, 2017 at 07:44:42PM -0400, Eric D Helms wrote: -- Michael Moll

Can we do similar for test_plugin_matrix?

I'd like to propose additional change for plugins - to only run core
tests for one Ruby version/db as well. For all other version/db
combinations we would only run plugin test suite and not core.

LZ

··· On Wed, Aug 23, 2017 at 1:44 AM, Eric D Helms wrote: > 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 foreman-dev+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout.


Later,
Lukas @lzap Zapletal

+1 to hosting the Jenkinsfile in the repos, it'll make changes much easier.

All other ideas seem sane, nice!

··· On Wed, 23 Aug 2017 at 08:16, Ivan Necas wrote:

On Wed, 23 Aug 2017 at 01:44, Eric D Helms ericdhelms@gmail.com wrote:

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

:-1: Having an option to use sqlite3 is very convenient for small patch
devel setup, I would vote to keep it at least for one ruby version

– Ivan

  1. We test all rubies on postgresql only
  2. 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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

There are a few different points to reply to, hopefully I did not miss one.
For the base topic, based on feedback and target for post 1.16, I think we
end up with:

  • 2.2 - postgres
  • 2.3 - postgres
  • 2.4 - postgres
  • 2.2 - mysql
  • 2.2 - sqlite3

Jenkinsfile in Repos

I think there are valid points and reasons for why this could be a good
idea. However, I lean more towards this meaning a later goal and not an
initial target. This would provide a more Travis like experience. I think
to achieve this we need enough stability in both our job definitions, but
also in the expectations that our Jenkins would be providing for plugins
and other projects. If we want to share common code to make writing of the
jobs easier, we need to have that common code stabilized or else we end up
having to update multiple repositories every time we make a change. Thus, I
would put this on the back burner as a goal when we stabilize. The
centralized infra repository allows easier job definitions, and code
sharing and development.

Docker

I would love to get to this point compared to how RVM setups work. I think
this should be a second pass update that we make across the board after we
make the first set of jobs given that we already know the slaves are
configured and work with the RVM and database setups. I think we need to do
some up front gathering and testing of information for things like:

a) what all do we need containers of? (versions of ruby, OSes, databases,
puppet availability etc.)
b) which set of slaves can run docker? and label them
c) what configuration updates do we need to make to slaves to run docker
on them

I think this can be done in parallel to my efforts if someone would like to
take it on. We can add it to the wiki page as an item.

Hound Dropping

This probably deserves it's own thread whether we drop Hound in favor of
using Jenkins to do the linting.

Eric

··· On Wed, Aug 23, 2017 at 5:05 AM, Michael Moll wrote:

Hi,

On Tue, Aug 22, 2017 at 07:44:42PM -0400, Eric D Helms wrote:

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].

+1!

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

At least one Ruby version should get tested with sqlite3, as almost all
dev setups will be sqlite and that’s making it easy to reproduce test
failures.

  1. We pick the most widely used Ruby version and test mysql with that

Sounds OK.

2.2 – used in RPM production

This will need to get updated for Rails 5 anyway.

2.1, 2.3, 2.4 – used by Debian production

2.1 is Debian/jessie, which will be dropped with Rails 5. 2.4 is not
used in any Debian or Ubuntu version and it’s highly likely that
Debian/unstable (and thus the next Ubuntu LTS 18.04) will go from 2.3 to
2.5 directly.

At the end with Rails 5 only Ruby 2.3 and 2.4 would stay and 2.5 get
added in Q1/2018. Depending on the RPM situation 2.4 could get dropped
theroretically again in Q2/2018.

Regards

Michael Moll


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Eric D. Helms
Red Hat Engineering

> There are a few different points to reply to, hopefully I did not miss
> one. For the base topic, based on feedback and target for post 1.16, I
> think we end up with:
>
> * 2.2 - postgres
> * 2.3 - postgres
> * 2.4 - postgres
> * 2.2 - mysql
> * 2.2 - sqlite3
>

This selection works for me

··· On Wed, 23 Aug 2017 at 15:10, Eric D Helms wrote:

Jenkinsfile in Repos

I think there are valid points and reasons for why this could be a good
idea. However, I lean more towards this meaning a later goal and not an
initial target. This would provide a more Travis like experience. I think
to achieve this we need enough stability in both our job definitions, but
also in the expectations that our Jenkins would be providing for plugins
and other projects. If we want to share common code to make writing of the
jobs easier, we need to have that common code stabilized or else we end up
having to update multiple repositories every time we make a change. Thus, I
would put this on the back burner as a goal when we stabilize. The
centralized infra repository allows easier job definitions, and code
sharing and development.

Docker

I would love to get to this point compared to how RVM setups work. I think
this should be a second pass update that we make across the board after we
make the first set of jobs given that we already know the slaves are
configured and work with the RVM and database setups. I think we need to do
some up front gathering and testing of information for things like:

a) what all do we need containers of? (versions of ruby, OSes, databases,
puppet availability etc.)
b) which set of slaves can run docker? and label them
c) what configuration updates do we need to make to slaves to run docker
on them

I think this can be done in parallel to my efforts if someone would like
to take it on. We can add it to the wiki page as an item.

Hound Dropping

This probably deserves it’s own thread whether we drop Hound in favor of
using Jenkins to do the linting.

Eric

On Wed, Aug 23, 2017 at 5:05 AM, Michael Moll kvedulv@kvedulv.de wrote:

Hi,

On Tue, Aug 22, 2017 at 07:44:42PM -0400, Eric D Helms wrote:

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].

+1!

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

At least one Ruby version should get tested with sqlite3, as almost all
dev setups will be sqlite and that’s making it easy to reproduce test
failures.

  1. We pick the most widely used Ruby version and test mysql with that

Sounds OK.

2.2 – used in RPM production

This will need to get updated for Rails 5 anyway.

2.1, 2.3, 2.4 – used by Debian production

2.1 is Debian/jessie, which will be dropped with Rails 5. 2.4 is not
used in any Debian or Ubuntu version and it’s highly likely that
Debian/unstable (and thus the next Ubuntu LTS 18.04) will go from 2.3 to
2.5 directly.

At the end with Rails 5 only Ruby 2.3 and 2.4 would stay and 2.5 get
added in Q1/2018. Depending on the RPM situation 2.4 could get dropped
theroretically again in Q2/2018.

Regards

Michael Moll


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

+1

– Ivan

··· On Wed, 30 Aug 2017 at 11:18, Lukas Zapletal wrote:

Can we do similar for test_plugin_matrix?

I’d like to propose additional change for plugins - to only run core
tests for one Ruby version/db as well. For all other version/db
combinations we would only run plugin test suite and not core.

LZ

On Wed, Aug 23, 2017 at 1:44 AM, Eric D Helms ericdhelms@gmail.com > wrote:

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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Later,
Lukas @lzap Zapletal


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

+1

··· -- Marek

On středa 30. srpna 2017 12:36:01 CEST Ivan Necas wrote:

+1

– Ivan

On Wed, 30 Aug 2017 at 11:18, Lukas Zapletal lzap@redhat.com wrote:

Can we do similar for test_plugin_matrix?

I’d like to propose additional change for plugins - to only run core
tests for one Ruby version/db as well. For all other version/db
combinations we would only run plugin test suite and not core.

LZ

On Wed, Aug 23, 2017 at 1:44 AM, Eric D Helms ericdhelms@gmail.com > > > > wrote:

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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Later,

Lukas @lzap Zapletal


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

>
>>
>> There are a few different points to reply to, hopefully I did not miss
>> one. For the base topic, based on feedback and target for post 1.16, I think
>> we end up with:
>>
>> * 2.2 - postgres
>> * 2.3 - postgres
>> * 2.4 - postgres
>> * 2.2 - mysql
>> * 2.2 - sqlite3
>

+1 that should provide enough coverage

··· On Wed, Aug 23, 2017 at 5:37 PM, Ivan Necas wrote: > On Wed, 23 Aug 2017 at 15:10, Eric D Helms wrote:

This selection works for me

Jenkinsfile in Repos

I think there are valid points and reasons for why this could be a good
idea. However, I lean more towards this meaning a later goal and not an
initial target. This would provide a more Travis like experience. I think to
achieve this we need enough stability in both our job definitions, but also
in the expectations that our Jenkins would be providing for plugins and
other projects. If we want to share common code to make writing of the jobs
easier, we need to have that common code stabilized or else we end up having
to update multiple repositories every time we make a change. Thus, I would
put this on the back burner as a goal when we stabilize. The centralized
infra repository allows easier job definitions, and code sharing and
development.

Docker

I would love to get to this point compared to how RVM setups work. I think
this should be a second pass update that we make across the board after we
make the first set of jobs given that we already know the slaves are
configured and work with the RVM and database setups. I think we need to do
some up front gathering and testing of information for things like:

a) what all do we need containers of? (versions of ruby, OSes, databases,
puppet availability etc.)
b) which set of slaves can run docker? and label them
c) what configuration updates do we need to make to slaves to run docker
on them

I think this can be done in parallel to my efforts if someone would like
to take it on. We can add it to the wiki page as an item.

Hound Dropping

This probably deserves it’s own thread whether we drop Hound in favor of
using Jenkins to do the linting.

Eric

On Wed, Aug 23, 2017 at 5:05 AM, Michael Moll kvedulv@kvedulv.de wrote:

Hi,

On Tue, Aug 22, 2017 at 07:44:42PM -0400, Eric D Helms wrote:

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].

+1!

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

At least one Ruby version should get tested with sqlite3, as almost all
dev setups will be sqlite and that’s making it easy to reproduce test
failures.

  1. We pick the most widely used Ruby version and test mysql with that

Sounds OK.

2.2 – used in RPM production

This will need to get updated for Rails 5 anyway.

2.1, 2.3, 2.4 – used by Debian production

2.1 is Debian/jessie, which will be dropped with Rails 5. 2.4 is not
used in any Debian or Ubuntu version and it’s highly likely that
Debian/unstable (and thus the next Ubuntu LTS 18.04) will go from 2.3 to
2.5 directly.

At the end with Rails 5 only Ruby 2.3 and 2.4 would stay and 2.5 get
added in Q1/2018. Depending on the RPM situation 2.4 could get dropped
theroretically again in Q2/2018.

Regards

Michael Moll


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


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 foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.