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

Allow developer control of parallel testing #942

Merged
merged 1 commit into from
Sep 13, 2023

Conversation

MarkEWaite
Copy link
Contributor

Allow developer control of parallel testing

Move the definition of parallel testing from the Maven pom file into the Jenkinsfile so that ci.jenkins.io continues to run the tests with one process per available core, while developers are allowed to configure the amount of parallel testing based on the configuration and use of their computer.

Developers can adjust parallel execution by passing a command line argument to Maven like this:

  mvn clean -DforkCount=1C verify

Developers can define a Maven profile that sets the forkCount in their
~/.m2/settings.xml like this:

  <profile>
    <id>faster</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <forkCount>.45C</forkCount>
    </properties>
  </profile>

With that entry in the settings.xml file, then 0.45C will be used for:

  mvn clean verify

Testing done

Tests pass with -DforkCount=1C on my Linux computer with Java 11.

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests - that demonstrates feature works or fixes the issue

Move the definition of parallel testing from the Maven pom file into the
Jenkinsfile so that ci.jenkins.io continues to run the tests with one
process per available core, while developers are allowed to configure
the amount of parallel testing based on the configuration and use of
their computer.

Developers can adjust parallel execution by passing a command line
argument to Maven like this:

  mvn clean -DforkCount=1C verify

Developers can define a Maven profile that sets the forkCount in their
~/.m2/settings.xml like this:

  <profile>
    <id>faster</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <forkCount>.45C</forkCount>
    </properties>
  </profile>

With that entry in the settings.xml file, then 0.45C will be used for:

  mvn clean verify
@codecov
Copy link

codecov bot commented Sep 13, 2023

Codecov Report

Merging #942 (9f58cce) into master (8c39121) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #942   +/-   ##
=========================================
  Coverage     92.92%   92.92%           
  Complexity     2338     2338           
=========================================
  Files           345      345           
  Lines          6499     6499           
  Branches        672      672           
=========================================
  Hits           6039     6039           
  Misses          262      262           
  Partials        198      198           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@uhafner uhafner added the internal Internal changes without user or API impact label Sep 13, 2023
Copy link
Member

@uhafner uhafner left a comment

Choose a reason for hiding this comment

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

I think it would make more sense to simply revert:

848f6ce

@MarkEWaite
Copy link
Contributor Author

I think it would make more sense to simply revert:

848f6ce

If that works better for you, that's fine as well. I thought that the reduction in test time and the resulting savings in cloud costs was generally worth it, but in this repository it is only a 5% savings, so parallel tests may not add enough value here.

@uhafner uhafner merged commit 565bacf into jenkinsci:master Sep 13, 2023
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Internal changes without user or API impact
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants