+- job-template:
+ name: lttng-tools_{version}_winbuild
+ defaults: lttng-tools
+
+ <<: *lttng-tools_matrix_axes_defaults
+ <<: *lttng-tools_builders_win
+ <<: *lttng-tools_publishers_win
+
+- job-template:
+ name: dev_review_lttng-tools_{version}_{buildtype}
+ defaults: lttng-tools
+ concurrent: true
+
+ scm:
+ - git: <tng-tools_scm_git_review
+ url: https://review.lttng.org/lttng-tools
+ refspec: 'refs/changes/*:refs/changes/*'
+ branches:
+ - '$GERRIT_REFSPEC'
+ basedir: src/lttng-tools
+ skip-tag: true
+
+ triggers:
+ - gerrit: <tng-tools_trigger_gerrit_default
+ trigger-on:
+ - comment-added-event:
+ approval-category: 'CI-Build'
+ approval-value: 1
+ projects:
+ - project-compare-type: 'PLAIN'
+ project-pattern: 'lttng-tools'
+ branches:
+ - branch-compare-type: 'PLAIN'
+ branch-pattern: '{version}'
+
+ properties:
+ - inject: *lttng-tools_property_inject_defaults
+ - build-discarder:
+ days-to-keep: 1
+ - throttle:
+ option: 'category'
+ categories:
+ - 'gerrit-{buildtype}'
+
+ <<: *lttng-tools_matrix_axes_defaults
+ <<: *lttng-tools_builders_review
+
+ publishers:
+ # On build abort (timeout), wait 10 seconds before running the other post
+ # build scripts, this will allow the processes to terminate and make the
+ # build log more legible.
+ - postbuildscript: *lttng-tools_publisher_postbuildscript_wait_10_seconds_on_abort
+
+ # On build failure, try to get partial tap results if any exists
+ - postbuildscript: *lttng-tools_publisher_postbuildscript_collect_tap_on_failure
+
+ # If there are leftover lttng processes or core files present, kill the
+ # processes, collect the core files, delete them and mark the build
+ # unstable.
+ - postbuildscript: *lttng-tools_publisher_postbuildscript_clean_processes_coredumps
+
+ - tap: *lttng-tools_publisher_tap_defaults
+ - raw: *lttng-tools_publisher_warnings-ng_defaults
+ - junit: *lttng-tools_publisher_junit_defaults
+ - archive: *lttng-tools_publisher_archive_defaults
+ - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+ - raw: *lttng-tools_publisher_proc-cleaner_defaults
+
+- job-template:
+ name: dev_review_lttng-tools_{version}_smokebuild
+ defaults: lttng-tools
+ concurrent: true
+
+ scm:
+ - git: *lttng-tools_scm_git_review
+
+ triggers:
+ - gerrit: <tng-tools_trigger_gerrit_smoke_1
+ trigger-on:
+ - comment-added-event:
+ approval-category: 'Smoke-Build-Lvl1'
+ approval-value: 1
+ projects:
+ - project-compare-type: 'PLAIN'
+ project-pattern: 'lttng-tools'
+ branches:
+ - branch-compare-type: 'PLAIN'
+ branch-pattern: '{version}'
+ skip-vote:
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
+ aborted: true
+
+ properties:
+ - inject:
+ properties-content: |
+ PROJECT_NAME=lttng-tools
+ LTTNG_TOOLS_RUN_TESTS=no
+ - build-discarder:
+ days-to-keep: 1
+
+ <<: *lttng-tools_matrix_axes_defaults
+ <<: *lttng-tools_builders_review
+
+ publishers:
+ - raw: *lttng-tools_publisher_warnings-ng_defaults
+ - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+ - raw: *lttng-tools_publisher_proc-cleaner_defaults
+
+- job-template:
+ name: dev_review_lttng-tools_{version}_clang-tidy
+ defaults: lttng-tools
+ concurrent: true
+
+ scm:
+ - git: *lttng-tools_scm_git_review
+
+ triggers:
+ - gerrit: <tng-tools_trigger_gerrit_smoke_2
+ trigger-on:
+ - comment-added-event:
+ approval-category: 'Smoke-Build-Lvl2'
+ approval-value: 1
+ projects:
+ - project-compare-type: 'PLAIN'
+ project-pattern: 'lttng-tools'
+ branches:
+ - branch-compare-type: 'PLAIN'
+ branch-pattern: '{version}'
+ skip-vote:
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
+ aborted: true
+
+ properties:
+ - inject:
+ properties-content: |
+ PROJECT_NAME=lttng-tools
+ LTTNG_TOOLS_MAKE_INSTALL=no
+ LTTNG_TOOLS_MAKE_CLEAN=no
+ LTTNG_TOOLS_RUN_TESTS=no
+ LTTNG_TOOLS_GEN_COMPILE_COMMANDS=yes
+ LTTNG_TOOLS_CLANG_TIDY=yes
+ - build-discarder:
+ days-to-keep: 1
+
+ <<: *lttng-tools_matrix_axes_defaults
+ <<: *lttng-tools_builders_review
+
+ publishers:
+ - raw:
+ xml: |
+ <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
+ <analysisTools>
+ <io.jenkins.plugins.analysis.warnings.ClangTidy>
+ <id/>
+ <name/>
+ <jenkins plugin="plugin-util-api"/>
+ <pattern/>
+ <reportEncoding/>
+ <skipSymbolicLinks>false</skipSymbolicLinks>
+ </io.jenkins.plugins.analysis.warnings.ClangTidy>
+ </analysisTools>
+ <sourceCodeEncoding/>
+ <sourceDirectory/>
+ <sourceDirectories/>
+ <ignoreQualityGate>false</ignoreQualityGate>
+ <ignoreFailedBuilds>true</ignoreFailedBuilds>
+ <failOnError>false</failOnError>
+ <healthy>0</healthy>
+ <unhealthy>0</unhealthy>
+ <minimumSeverity plugin="analysis-model-api">
+ <name>LOW</name>
+ </minimumSeverity>
+ <filters/>
+ <isEnabledForFailure>true</isEnabledForFailure>
+ <isAggregatingResults>true</isAggregatingResults>
+ <isBlameDisabled>false</isBlameDisabled>
+ <skipPublishingChecks>true</skipPublishingChecks>
+ <publishAllIssues>false</publishAllIssues>
+ <qualityGates>
+ <io.jenkins.plugins.analysis.core.util.QualityGate>
+ <status>FAILED</status>
+ <threshold>1</threshold>
+ <type>TOTAL</type>
+ </io.jenkins.plugins.analysis.core.util.QualityGate>
+ </qualityGates>
+ <trendChartType>AGGREGATION_TOOLS</trendChartType>
+ <scm/>
+ </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
+ - archive:
+ artifacts: 'clang-tidy-fixes.diff'
+ allow-empty: true
+ - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+ - raw: *lttng-tools_publisher_proc-cleaner_defaults
+
+- job-template:
+ name: dev_review_lttng-tools_{version}_rootbuild
+ defaults: lttng-tools
+ concurrent: true
+
+ scm:
+ - git: *lttng-tools_scm_git_review
+
+ triggers:
+ - gerrit: *lttng-tools_trigger_gerrit_default
+
+ properties:
+ - inject: *lttng-tools_property_inject_defaults
+ - build-discarder:
+ days-to-keep: 1
+ - throttle:
+ option: 'category'
+ categories:
+ - 'gerrit-{buildtype}'
+
+ <<: *lttng-tools_matrix_axes_rootbuild
+ <<: *lttng-tools_builders_review
+
+ publishers:
+ - tap: *lttng-tools_publisher_tap_defaults
+ - raw: *lttng-tools_publisher_warnings-ng_defaults
+ - archive: *lttng-tools_publisher_archive_defaults
+ - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+
+- job-template:
+ name: 'dev_review_lttng-tools_{version}_check-format'
+ defaults: lttng-tools
+ concurrent: true
+
+ scm:
+ - git: *lttng-tools_scm_git_review
+
+ triggers:
+ - gerrit: *lttng-tools_trigger_gerrit_smoke_1
+
+ node: 'deb12-amd64'
+
+ builders:
+ - shell:
+ !include-raw-escape: scripts/common/check-format.sh
+
+ properties:
+ - inject: *lttng-tools_property_inject_defaults
+ - build-discarder:
+ days-to-keep: 1
+
+ publishers:
+ - archive:
+ artifacts: 'clang-format-fixes.diff'
+ allow-empty: true
+ - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+
+- job-template:
+ name: lttng-tools_{version}_release
+ defaults: lttng-tools
+ node: 'deb12-amd64'
+
+ triggers:
+ - pollscm:
+ cron: "@daily"
+
+ scm:
+ - git:
+ url: https://github.com/{github_user}/lttng-tools.git
+ browser: githubweb
+ browser-url: https://github.com/{github_user}/lttng-tools
+ refspec: '+refs/tags/*:refs/remotes/origin/tags/*'
+ branches:
+ - '*/tags/{version}.*'
+ basedir: src/lttng-tools
+
+ builders:
+ - copyartifact:
+ <<: *lttng-tools_steps_copyartifact_defaults
+ project: 'liburcu_{urcuversion}_linuxbuild/platform=deb12-amd64,conf=std,build=std'
+ - copyartifact:
+ <<: *lttng-tools_steps_copyartifact_defaults
+ project: 'babeltrace_{babelversion}_linuxbuild/platform=deb12-amd64,conf=std,build=std'
+ - copyartifact:
+ <<: *lttng-tools_steps_copyartifact_defaults
+ project: 'lttng-ust_{ustversion}_linuxbuild/liburcu_version={urcuversion},platform=deb12-amd64,conf=agents,build=std'
+ - shell:
+ !include-raw-escape: scripts/lttng-tools/prebuild_clean_processes_coredumps.sh
+ - shell:
+ !include-raw-escape: scripts/lttng-tools/release.sh
+
+ publishers:
+ # On build abort (timeout), wait 10 seconds before running the other post
+ # build scripts, this will allow the processes to terminate and make the
+ # build log more legible.
+ - postbuildscript: *lttng-tools_publisher_postbuildscript_wait_10_seconds_on_abort
+
+ # On build failure, try to get partial tap results if any exists
+ - postbuildscript: *lttng-tools_publisher_postbuildscript_collect_tap_on_failure
+
+ # If there are leftover lttng processes or core files present, kill the
+ # processes, collect the core files, delete them and mark the build
+ # unstable.
+ - postbuildscript: *lttng-tools_publisher_postbuildscript_clean_processes_coredumps
+
+ - tap: *lttng-tools_publisher_tap_defaults
+ - raw: *lttng-tools_publisher_warnings-ng_defaults
+ - archive:
+ artifacts: 'out/**'
+ allow-empty: false
+ fingerprint: true
+ - workspace-cleanup: *lttng-tools_publisher_workspace-cleanup_defaults
+ - raw: *lttng-tools_publisher_proc-cleaner_defaults
+ - ircbot: *lttng-tools_publisher_ircbot_defaults