cdt/Jenkinsfile
Jonah Graham 0568568c33 Change standalone debugger to no longer limit number of bundles
The maintenance of having a streamlined standalone debugger that
starts as fast as possible is no longer possible. See for
example #591 - therefore when using standalone debugger, use
the same sets of plug-ins/features as the product it is installed
in uses. The side effect is that the standalone debugger in this
use case will start slower and extra "stuff" will be present in
this UI.

For people just building the standalone debugger, provide a minimum
feature set. This will be many more bundles than before, but
should still provide a reasonably small set that starts well.

This simplification also includes removing the the duplicates set
of CDT docs (debug/org.eclipse.cdt.debug.application.doc). These
provided a simplified version of CDT's documentation targetted
at just standalone debugger. However there are a few problems related
to this duplication:

- The two sets of docs were not kept in sync
- The standalone docs appear in the online help, leading to
  duplicated entries
- With the config.ini changes above, there is no way to exclude
  the main docs in the standalone case, so remove the duplicate

A number of directly related clean-ups are included too:

- Remove the `ConfigGenerator.java` that stopped being referenced
  in PR #761
- Complete the removal of `build-standalone-debugger-rcp` profile
  that was started in #761. There is a small drawback to not having
  this profile, the standalone debugger is very slow to build
  compared to the rest of CDT. If this becomes a problem, restoring
  this profile along with the changes made in #761 is reasonable.
- bring debug.product's licenses up to date
- modernize command line args to eclipse when using debug.product

Fixes #781
2024-05-12 16:12:17 -04:00

71 lines
3.3 KiB
Groovy

pipeline {
agent {
kubernetes {
yamlFile 'jenkins/pod-templates/cdt-full-pod-plus-eclipse-install.yaml'
}
}
options {
timestamps()
}
stages {
stage('initialize PGP') {
steps {
container('cdt') {
withCredentials([file(credentialsId: 'secret-subkeys.asc', variable: 'KEYRING')]) {
sh 'gpg --batch --import "${KEYRING}"'
sh 'for fpr in $(gpg --list-keys --with-colons | awk -F: \'/fpr:/ {print $10}\' | sort -u); do echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key ${fpr} trust; done'
}
}
}
}
stage('Code Formatting Checks') {
steps {
container('cdt') {
timeout(activity: true, time: 30) {
withEnv(['MAVEN_OPTS=-XX:MaxRAMPercentage=50.0 -XX:+PrintFlagsFinal']) {
sh 'MVN="/jipp/tools/apache-maven/latest/bin/mvn -Dmaven.repo.local=/home/jenkins/.m2/repository \
--settings /home/jenkins/.m2/settings.xml" ./releng/scripts/check_code_cleanliness_only.sh'
}
}
}
}
}
stage('Build and verify') {
steps {
container('cdt') {
timeout(activity: true, time: 20) {
withEnv(['MAVEN_OPTS=-XX:MaxRAMPercentage=50.0 -XX:+PrintFlagsFinal']) {
withCredentials([string(credentialsId: 'gpg-passphrase', variable: 'KEYRING_PASSPHRASE')]) {
// XXX: Issue 684 means that dsf-gdb tests are skipped
sh '''/jipp/tools/apache-maven/latest/bin/mvn \
clean verify -B -V \
-Ddsf-gdb.skip.tests=true \
-Dgpg.passphrase="${KEYRING_PASSPHRASE}" \
-Dmaven.test.failure.ignore=true \
-DexcludedGroups=flakyTest,slowTest \
-P baseline-compare-and-replace \
-P api-baseline-check \
-Ddsf.gdb.tests.timeout.multiplier=50 \
-Dindexer.timeout=300 \
-P production \
-Ddsf.gdb.tests.gdbPath=/shared/common/gdb/gdb-all/bin \
-Dcdt.tests.dsf.gdb.versions=gdb.10,gdbserver.10 \
-Dmaven.repo.local=/home/jenkins/.m2/repository \
--settings /home/jenkins/.m2/settings.xml \
'''
}
}
}
}
}
}
}
post {
always {
container('cdt') {
archiveArtifacts '*.log,native/org.eclipse.cdt.native.serial/**,core/org.eclipse.cdt.core.*/**,*/*/target/surefire-reports/**,terminal/plugins/org.eclipse.tm.terminal.test/target/surefire-reports/**,**/target/work/data/.metadata/.log,releng/org.eclipse.cdt.repo/target/org.eclipse.cdt.repo.zip,releng/org.eclipse.cdt.repo/target/repository/**,releng/org.eclipse.cdt.testing.repo/target/org.eclipse.cdt.testing.repo.zip,releng/org.eclipse.cdt.testing.repo/target/repository/**,debug/org.eclipse.cdt.debug.application.product/target/product/*.tar.gz,debug/org.eclipse.cdt.debug.application.product/target/products/*.zip,debug/org.eclipse.cdt.debug.application.product/target/products/*.tar.gz,debug/org.eclipse.cdt.debug.application.product/target/repository/**'
junit '*/*/target/surefire-reports/*.xml,terminal/plugins/org.eclipse.tm.terminal.test/target/surefire-reports/*.xml'
}
}
}
}