Skip to content

Commit

Permalink
Allow developer control of parallel testing
Browse files Browse the repository at this point in the history
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
  • Loading branch information
MarkEWaite committed Sep 13, 2023
1 parent 3039470 commit b75c5af
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 15 deletions.
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
buildPlugin(useContainerAgent: true, configurations: [
buildPlugin(useContainerAgent: true, forkCount: '1C', configurations: [
[platform: 'linux', jdk: '11'],
[platform: 'linux', jdk: '17'],
])
14 changes: 0 additions & 14 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -110,20 +110,6 @@
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<parallel>all</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
<forkCount>1C</forkCount>
</configuration>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>repo.jenkins-ci.org</id>
Expand Down

0 comments on commit b75c5af

Please sign in to comment.