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 authored and kinow committed Oct 11, 2023
1 parent 4051c02 commit b4438fc
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 13 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, failFast: false, configurations: [
buildPlugin(useContainerAgent: true, failFast: false, forkCount: '1C', configurations: [
[platform: 'linux', jdk: 17],
[platform: 'windows', jdk: 11],
])
12 changes: 0 additions & 12 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -164,18 +164,6 @@
<build>
<defaultGoal>clean test install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<parallel>all</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
<forkCount>1C</forkCount>
<systemPropertyVariables>
<ui.loading.timeout>${ui.loading.timeout}</ui.loading.timeout>
</systemPropertyVariables>
</configuration>
</plugin>
<!-- TODO: re-enable, probably with google-chrome headless or qunit/npm instead
<plugin>
<groupId>org.codehaus.mojo</groupId>
Expand Down

0 comments on commit b4438fc

Please sign in to comment.