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

Set forkCount to speed up builds #451

Merged
merged 8 commits into from
Mar 11, 2021
Merged

Set forkCount to speed up builds #451

merged 8 commits into from
Mar 11, 2021

Conversation

jglick
Copy link
Member

@jglick jglick commented Mar 10, 2021

jenkinsci/plugin-compat-tester#273 speeds up builds of bottleneck plugins like pipeline-model-definition and makes the overall build completely significantly faster: ~61m → ~42m.

SNAPSHOT_VERSION=0.5.1-SNAPSHOT # TODO incrementals broken till https://github.com/jenkinsci/plugin-compat-tester/pull/260 is merged
version=0.5.1-20201017.070523-3 # TODO https://github.com/jenkinsci/plugin-compat-tester/pull/261
pct=$HOME/.m2/repository/org/jenkins-ci/tests/plugins-compat-tester-cli/${SNAPSHOT_VERSION}/plugins-compat-tester-cli-${version}.jar
version=0.5.1-rc1068.959674bdeffd # TODO https://github.com/jenkinsci/plugin-compat-tester/pull/275
Copy link
Member Author

Choose a reason for hiding this comment

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

@jglick
Copy link
Member Author

jglick commented Mar 10, 2021

@bitwiseman AFAICT jenkinsci/pipeline-model-definition-plugin#415 broke a test added in jenkinsci/pipeline-model-definition-plugin#409, perhaps due to lack of cleanup of static state e.g. with FlagRule. Reproducible if you run just

mvn -Pquick-build install
mvn -pl pipeline-model-definition -Dtest=ASTParserUtilsTest surefire:test

but this was not caught in CI, perhaps because that plugin does not set reuseForks=false and the test order that it happens to use for a full suite allows everything to run in a serendipitous order. Or perhaps because the unusual POM tricks it is using do not work in PCT?

@jglick
Copy link
Member Author

jglick commented Mar 10, 2021

Going to see if reverting #428 works around this for now.

@jglick jglick added the chore Reduces future maintenance label Mar 10, 2021
@@ -13,8 +13,7 @@ else
PCT_S_ARG=
fi

# TODO use -ntp if there is a PCT option to pass Maven options
MAVEN_PROPERTIES=org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn:jth.jenkins-war.path=$(pwd)/megawar.war
MAVEN_PROPERTIES=jth.jenkins-war.path=$(pwd)/megawar.war:forkCount=.75C
Copy link
Member Author

Choose a reason for hiding this comment

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

With current ACI agents, this seems to be effectively 3×.

@@ -114,4 +113,7 @@ rm -fv pct-work/workflow-basic-steps/target/surefire-reports/TEST-org.jenkinsci.
# TODO until dropping 2.235.x so can rely on https://github.com/jenkinsci/workflow-basic-steps-plugin/pull/120
rm -fv pct-work/workflow-basic-steps/target/surefire-reports/TEST-org.jenkinsci.plugins.workflow.steps.TimeoutStepTest.xml

# TODO https://github.com/jenkinsci/pipeline-model-definition-plugin/pull/417
Copy link
Member Author

Choose a reason for hiding this comment

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

@jglick jglick changed the title Set forkCount to speed up builds? Set forkCount to speed up builds Mar 11, 2021
@jglick jglick marked this pull request as ready for review March 11, 2021 14:38
@jglick
Copy link
Member Author

jglick commented Mar 11, 2021

🤞

@jglick jglick merged commit 0309505 into jenkinsci:master Mar 11, 2021
@jglick jglick deleted the forkCount branch March 11, 2021 16:08
@jglick
Copy link
Member Author

jglick commented Mar 11, 2021

https://ci.jenkins.io/job/Tools/job/bom/job/master/buildTimeTrend

  Build  ↑ Duration Agent
  # 404 46 min  
  # 403 1 hr 6 min  
  # 402 1 hr 5 min  
  # 401 1 min 4 sec  
  # 400 10 sec  
  # 399 2 min 47 sec  
  # 398 59 min  
  # 397 1 hr 5 min  
  # 396 1 hr 10 min  
  # 395 1 hr 6 min  
  # 394 1 hr 3 min  
  # 393 1 hr 5 min  
  # 392 1 hr 11 min  
  # 391 1 hr 3 min

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Reduces future maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants