Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce recommended configurations #120

Merged

Conversation

MarkEWaite
Copy link
Contributor

@MarkEWaite MarkEWaite commented Nov 7, 2019

Reduce recommended configurations to best bug finders

Reduce recommended configurations to best bug finders

Assure that the recommended configuration will test most likely bug finding combinations:

  • Windows, JDK 8, recent LTS
  • Linux, JDK 11, recent LTS
  • Linux, JDK 8, minimum Jenkins version

Don't need to cover every combination, just the most interesting combinations.

Will reduce the load on ci.jenkins.io and may decrease pull request build time.

@oleg-nenashev and @olblak this will reduce the load on ci.jenkins.io by running fewer configurations. Reduces tested configurations by 50%.

Assure that the recommended configuration will test most likely bug
finding pairs of:

* JDK 8, JDK 11
* Windows, Linux
* minimum Jenkins version, recent LTS Jenkins version.

Don't need to cover every combination, just assure that most interesting
pairs are tested.

Will reduce the load on ci.jenkins.io and may decrease pull request
build time.
@MarkEWaite MarkEWaite changed the title Reduce recommended configurations to best bug finders Reduce recommended configurations Nov 7, 2019
Copy link
Contributor

@oleg-nenashev oleg-nenashev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Windows for the target Jenkins core version needs to be tested at least.
I think we could approach differently - starting from a single keystone build and doing other configuration if and only if it passes. I will draft a proposal

@MarkEWaite
Copy link
Contributor Author

I disagree that Windows should be tested for the minimum Jenkins core version supported by the plugin. I've never encountered a case where that combination would detect something that Linux and plugin selected minimum Jenkins core version did not also detect.

I've not seen as many complex environments as you have through your work on remoting and other platform areas, so I'm open to learn of cases where Windows with minimum core version detected a problem that Linux with minimum Jenkins core version did not detect.

Windows runs tests more slowly (at least in my experience). Retaining a Windows test configuration that is not a strong benefit will keep our resource usage higher than necessary without significant benefit to plugin maintainers or users.

@MarkEWaite
Copy link
Contributor Author

MarkEWaite commented Nov 15, 2019

I'm open to consider a keystone build. It seems like an interesting concept.

I am concerned by the number of times that I've waited while a ci.jenkins.io job paused to acquire a new Windows machine for a build or paused to acquire a new maven agent for its deploy stage. With those pauses for agents, I'm hesitant to encourage adding more stages. It means that what is now described as a parallel process (validate configurations in parallel) will become a serial step (keystone build) followed by a parallel process (validate remaining configurations). Won't that double the average elapsed time of the job?

@oleg-nenashev
Copy link
Contributor

oleg-nenashev commented Nov 15, 2019 via email

Copy link
Contributor

@jglick jglick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggested much the same thing in #94 (comment). In fact I think we could probably get away with just Windows / JDK 8 and Linux / JDK 11 / recent. See also discussion in #92.

Copy link
Member

@timja timja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would prefer unused platforms are removed, but I can't see a good reason to keep the extra platforms

@olblak olblak merged commit 909e8c8 into jenkins-infra:master Jan 22, 2020
@MarkEWaite MarkEWaite deleted the reduce-recommended-configurations branch January 22, 2020 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants