Skip to content

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

# 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×.

# 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