# {project}_{version}_{jobtype}
# librseq_stable-0.8_build
#
# jobtypes:
# - build
# - portbuild
# - coverity
# - scan-build
# - pylint
- defaults:
name: librseq
description: |
Job is managed by Jenkins Job Builder.
project-type: freestyle
wrappers:
- ansicolor: &librseq_wrapper_ansicolor_defaults
colormap: xterm
- timeout: &librseq_wrapper_timeout_defaults
timeout: 10
fail: true
type: no-activity
- timestamps
- workspace-cleanup
scm:
- git:
url: https://github.com/{github_user}/{github_name}.git
browser: githubweb
browser-url: https://github.com/{github_user}/{github_name}
branches:
- origin/{version}
basedir: src/librseq
skip-tag: true
triggers:
- pollscm:
cron: "@hourly"
properties:
- inject:
properties-content: |
PROJECT_NAME=librseq
- build-discarder:
num-to-keep: 10
artifact-num-to-keep: 2
- github:
url: https://github.com/{github_user}/{github_name}
## Anchors
- _librseq_matrix_axes_defaults: &librseq_matrix_axes_defaults
name: 'librseq_matrix_axes_defaults'
project-type: matrix
node: 'master' # Applies only to matrix flyweight task
execution-strategy:
touchstone:
expr: '{touchstone}'
result: unstable
axes:
- axis: &librseq_matrix_axis_platform
type: slave
name: platform
values: '{obj:platforms}'
- axis: &librseq_matrix_axis_conf
type: user-defined
name: conf
values: '{obj:confs}'
- axis: &librseq_matrix_axis_build
type: user-defined
name: build
values: '{obj:builds}'
- _librseq_matrix_axes_cc: &librseq_matrix_axes_cc
name: 'librseq_matrix_axes_cc'
project-type: matrix
node: 'master' # Applies only to matrix flyweight task
execution-strategy:
touchstone:
expr: '{touchstone}'
result: unstable
axes:
- axis: *librseq_matrix_axis_platform
- axis: *librseq_matrix_axis_conf
- axis: *librseq_matrix_axis_build
- axis: &librseq_matrix_axis_cc
type: user-defined
name: cc
values: '{obj:ccs}'
- _librseq_builders_defaults: &librseq_builders_defaults
name: 'librseq_builders_defaults'
builders:
- shell:
!include-raw-escape:
- scripts/common/print.sh
- scripts/librseq/build.sh
- _librseq_publishers_defaults: &librseq_publishers_defaults
name: 'librseq_publishers_defaults'
publishers:
- tap: &librseq_publisher_tap_defaults
results: 'tap/**/*.log'
fail-if-no-results: true
failed-tests-mark-build-as-failure: true
include-comment-diagnostics: true
output-tap-to-console: false
todo-is-failure: false
- raw: &librseq_publisher_warnings-ng_defaults
xml: |
false
false
true
false
0
0
LOW
true
true
false
true
false
1
TOTAL
WARNING
AGGREGATION_TOOLS
- archive: &librseq_publisher_archive_defaults
artifacts: 'build/**,tap/**,log/**'
follow-symlinks: true
allow-empty: false
- workspace-cleanup: &librseq_publisher_workspace-cleanup_defaults
clean-if:
- failure: false
- ircbot: &librseq_publisher_ircbot_defaults
strategy: statechange-only
message-type: summary
matrix-notifier: only-parent
- email-ext: &librseq_publisher_email-ext_defaults
recipients: '{obj:email_to}'
reply-to: ci-notification@lists.lttng.org
always: false
unstable: false
first-failure: true
first-unstable: true
not-built: false
aborted: false
regression: false
failure: false
second-failure: false
improvement: false
still-failing: false
success: false
fixed: false
fixed-unhealthy: true
still-unstable: false
pre-build: false
matrix-trigger: only-parent
send-to:
- recipients
- _librseq_publishers_review: &librseq_publishers_review
name: 'librseq_publishers_review'
publishers:
- tap: *librseq_publisher_tap_defaults
- raw: *librseq_publisher_warnings-ng_defaults
- archive: *librseq_publisher_archive_defaults
- workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults
## Templates
- job-template:
name: librseq_{version}_{buildtype}
defaults: librseq
<<: *librseq_matrix_axes_defaults
<<: *librseq_builders_defaults
<<: *librseq_publishers_defaults
- job-template:
name: librseq_{version}_{cctype}
defaults: librseq
<<: *librseq_matrix_axes_cc
<<: *librseq_builders_defaults
<<: *librseq_publishers_defaults
- job-template:
name: dev_review_librseq_{version}_{buildtype}
defaults: librseq
concurrent: true
scm:
- git:
url: https://review.lttng.org/librseq
refspec: 'refs/changes/*:refs/changes/*'
branches:
- '$GERRIT_REFSPEC'
basedir: src/librseq
skip-tag: true
triggers:
- gerrit:
trigger-on:
- comment-added-event:
approval-category: 'CI-Build'
approval-value: 1
projects:
- project-compare-type: 'PLAIN'
project-pattern: 'librseq'
branches:
- branch-compare-type: 'PLAIN'
branch-pattern: '{version}'
<<: *librseq_matrix_axes_defaults
<<: *librseq_builders_defaults
<<: *librseq_publishers_review
properties:
- inject:
properties-content: |
PROJECT_NAME=librseq
- build-discarder:
days-to-keep: 1
- throttle:
option: 'category'
categories:
- 'gerrit-{buildtype}'
- job-template:
name: librseq_{version}_scan-build
defaults: librseq
node: 'deb12-amd64'
triggers:
- pollscm:
cron: "@daily"
builders:
- shell:
!include-raw-escape: scripts/common/scan-build.sh
publishers:
- html-publisher:
name: 'HTML Report'
dir: 'scan-build-archive/'
files: 'index.html'
- workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults
- job-template:
name: librseq_{version}_coverity
defaults: librseq
node: 'deb12-amd64'
triggers:
- pollscm:
cron: "@daily"
wrappers:
- ansicolor: *librseq_wrapper_ansicolor_defaults
- timeout: *librseq_wrapper_timeout_defaults
- timestamps
- workspace-cleanup
- credentials-binding:
- username-password-separated:
credential-id: librseq_coverity_token
username: COVERITY_SCAN_PROJECT_NAME
password: COVERITY_SCAN_TOKEN
builders:
- shell:
!include-raw-escape: scripts/common/coverity.sh
publishers:
- workspace-cleanup
- archive:
artifacts: 'analysis-results.tgz,cov-int/**'
allow-empty: false
- workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults
- view-template:
name: 'Librseq'
description: 'Restartable sequences'
view-type: list
regex: 'librseq_.*'
## Project
- project:
name: librseq
github_user: compudj
github_name: librseq
email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
version:
- master
jobs:
- 'librseq_{version}_{buildtype}':
buildtype: linuxbuild
platforms: !!python/tuple [deb12-amd64]
builds: !!python/tuple [std, oot, dist, oot-dist]
confs: !!python/tuple [std, static]
touchstone: '(build == "std") && (conf == "std")'
- 'librseq_{version}_{cctype}':
cctype: clangbuild
platforms: !!python/tuple [deb12-amd64]
builds: !!python/tuple [std]
confs: !!python/tuple [std, static]
ccs: !!python/tuple [clang-13, clang-14, clang-15]
touchstone: '(build == "std") && (conf == "std") && (cc == "clang-15")'
- 'librseq_{version}_{buildtype}':
buildtype: portbuild
platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
builds: !!python/tuple [std]
confs: !!python/tuple [std, static]
touchstone: '(build == "std") && (conf == "std") && (platform == "deb12-i386")'
- project:
name: review-librseq
github_user: compudj
github_name: librseq
version:
- master
jobs:
- 'dev_review_librseq_{version}_{buildtype}':
buildtype: linuxbuild
platforms: !!python/tuple [deb12-amd64]
builds: !!python/tuple [std, oot, dist, oot-dist]
confs: !!python/tuple [std, static]
touchstone: '(build == "std") && (conf == "std")'
- project:
name: librseq-views
views:
- Librseq