# jobtypes:
# - build
# - portbuild
-# - cppcheck
# - coverity
# - scan-build
# - pylint
project-type: freestyle
wrappers:
- - ansicolor
- - timeout:
+ - ansicolor: &librseq_wrapper_ansicolor_defaults
+ colormap: xterm
+ - timeout: &librseq_wrapper_timeout_defaults
timeout: 10
fail: true
type: no-activity
- timestamps
- - workspace-cleanup:
- clean-if:
- - failure: false
+ - workspace-cleanup
scm:
- git:
- url: git://github.com/{github_user}/{github_name}.git
+ url: https://github.com/{github_user}/{github_name}.git
browser: githubweb
browser-url: https://github.com/{github_user}/{github_name}
branches:
properties-content: |
PROJECT_NAME=librseq
- build-discarder:
- num-to-keep: 2
+ num-to-keep: 10
+ artifact-num-to-keep: 2
- github:
url: https://github.com/{github_user}/{github_name}
## Anchors
-- librseq_build_axes_defaults: &librseq_build_axes_defaults
- name: 'librseq_build_axes_defaults'
+- _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:
+ - axis: &librseq_matrix_axis_platform
type: slave
- name: arch
- values: '{obj:arch}'
- - axis:
+ name: platform
+ values: '{obj:platforms}'
+ - axis: &librseq_matrix_axis_conf
type: user-defined
name: conf
- values: '{obj:conf}'
- - axis:
+ values: '{obj:confs}'
+ - axis: &librseq_matrix_axis_build
type: user-defined
name: build
- values: '{obj:build}'
+ values: '{obj:builds}'
-- librseq_build_axes_cc: &librseq_build_axes_cc
- name: 'librseq_build_axes_cc'
+- _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:
- type: slave
- name: arch
- values: '{obj:arch}'
- - axis:
- type: user-defined
- name: conf
- values: '{obj:conf}'
- - axis:
- type: user-defined
- name: build
- values: '{obj:build}'
- - axis:
+ - 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:cc}'
+ values: '{obj:ccs}'
-- librseq_build_builders_defaults: &librseq_build_builders_defaults
- name: 'librseq_build_builders_defaults'
+- _librseq_builders_defaults: &librseq_builders_defaults
+ name: 'librseq_builders_defaults'
builders:
- shell:
- !include-raw-escape: scripts/librseq/build.sh
+ !include-raw-escape:
+ - scripts/common/print.sh
+ - scripts/librseq/build.sh
-- librseq_build_publishers_defaults: &librseq_build_publishers_defaults
- name: 'librseq_build_publishers_defaults'
+- _librseq_publishers_defaults: &librseq_publishers_defaults
+ name: 'librseq_publishers_defaults'
publishers:
- - warnings:
- console-log-parsers:
- - 'GNU Make + GNU C Compiler (gcc)'
- total-thresholds:
- unstable:
- total-all: 0
- total-high: 0
- total-normal: 0
- total-low: 0
- - archive:
- artifacts: 'build/**'
+ - 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: |
+ <io.jenkins.plugins.analysis.core.steps.IssuesRecorder plugin="warnings-ng">
+ <analysisTools>
+ <io.jenkins.plugins.analysis.warnings.Gcc4>
+ <id/>
+ <name/>
+ <jenkins plugin="plugin-util-api"/>
+ <pattern/>
+ <reportEncoding/>
+ <skipSymbolicLinks>false</skipSymbolicLinks>
+ </io.jenkins.plugins.analysis.warnings.Gcc4>
+ </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>
+ <threshold>1</threshold>
+ <type>TOTAL</type>
+ <status>WARNING</status>
+ </io.jenkins.plugins.analysis.core.util.QualityGate>
+ </qualityGates>
+ <trendChartType>AGGREGATION_TOOLS</trendChartType>
+ <scm/>
+ </io.jenkins.plugins.analysis.core.steps.IssuesRecorder>
+ - archive: &librseq_publisher_archive_defaults
+ artifacts: 'build/**,tap/**,log/**'
+ follow-symlinks: true
allow-empty: false
- - ircbot:
- strategy: new-failure-and-fixed
+ - 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
- channels:
- - name: '#lttng'
- - email-ext:
+ - email-ext: &librseq_publisher_email-ext_defaults
recipients: '{obj:email_to}'
reply-to: ci-notification@lists.lttng.org
always: false
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_build_axes_defaults
- <<: *librseq_build_builders_defaults
- <<: *librseq_build_publishers_defaults
+ <<: *librseq_matrix_axes_defaults
+ <<: *librseq_builders_defaults
+ <<: *librseq_publishers_defaults
- job-template:
name: librseq_{version}_{cctype}
defaults: librseq
- <<: *librseq_build_axes_cc
- <<: *librseq_build_builders_defaults
- <<: *librseq_build_publishers_defaults
+ <<: *librseq_matrix_axes_cc
+ <<: *librseq_builders_defaults
+ <<: *librseq_publishers_defaults
- job-template:
- name: librseq_{version}_cppcheck
+ name: dev_review_librseq_{version}_{buildtype}
defaults: librseq
+ concurrent: true
- triggers:
- - pollscm:
- cron: "@daily"
+ scm:
+ - git:
+ url: https://review.lttng.org/librseq
+ refspec: 'refs/changes/*:refs/changes/*'
+ branches:
+ - '$GERRIT_REFSPEC'
+ basedir: src/librseq
+ skip-tag: true
- builders:
- - shell: |
- rm -f cppcheck-result.xml
- cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/librseq 2> cppcheck-result.xml
+ 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
- publishers:
- - archive:
- artifacts: 'cppcheck-result.xml'
- allow-empty: false
- - cppcheck:
- pattern: 'cppcheck-result.xml'
- - email-ext:
- recipients: '{obj:email_to}'
- reply-to: ci-notification@lists.lttng.org
- always: false
- unstable: false
- first-failure: true
- first-unstable: false
- 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: true
- pre-build: false
- matrix-trigger: only-parent
- send-to:
- - recipients
+ 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: 'amd64'
+ node: 'deb12-amd64'
triggers:
- pollscm:
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: 'amd64'
+ node: 'deb12-amd64'
triggers:
- pollscm:
cron: "@daily"
wrappers:
- - ansicolor
- - timeout:
- timeout: 10
- fail: true
- type: no-activity
+ - ansicolor: *librseq_wrapper_ansicolor_defaults
+ - timeout: *librseq_wrapper_timeout_defaults
- timestamps
- - workspace-cleanup:
- clean-if:
- - failure: false
+ - workspace-cleanup
- credentials-binding:
- username-password-separated:
credential-id: librseq_coverity_token
- archive:
artifacts: 'analysis-results.tgz,cov-int/**'
allow-empty: false
+ - workspace-cleanup: *librseq_publisher_workspace-cleanup_defaults
- view-template:
- name: 'rseq'
+ name: 'Librseq'
description: 'Restartable sequences'
view-type: list
- regex: 'librseq_.*|linux-rseq_.*'
+ regex: 'librseq_.*'
## Project
- master
jobs:
- 'librseq_{version}_{buildtype}':
- buildtype: build
- arch: !!python/tuple [amd64]
- build: !!python/tuple [std, oot, dist, oot-dist]
- conf: !!python/tuple [std, static]
- - 'librseq_{version}_{cctype}':
- cctype: gccbuild
- arch: !!python/tuple [amd64]
- build: !!python/tuple [std]
- conf: !!python/tuple [std, static]
- cc: !!python/tuple [gcc-4.8, gcc-5, gcc-6, gcc-7, gcc-8]
+ buildtype: linuxbuild
+ platforms: !!python/tuple [deb12-amd64]
+ builds: !!python/tuple [std, oot, dist, oot-dist]
+ confs: !!python/tuple [std, static]
+ touchstone: ''
- 'librseq_{version}_{cctype}':
cctype: clangbuild
- arch: !!python/tuple [amd64]
- build: !!python/tuple [std]
- conf: !!python/tuple [std, static]
- cc: !!python/tuple [clang-3.9, clang-4.0, clang-6.0, clang-7]
+ platforms: !!python/tuple [deb12-amd64]
+ builds: !!python/tuple [std]
+ confs: !!python/tuple [std, static]
+ ccs: !!python/tuple [clang-13, clang-14, clang-15]
+ touchstone: ''
- 'librseq_{version}_{buildtype}':
buildtype: portbuild
- arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, i386]
- build: !!python/tuple [std]
- conf: !!python/tuple [std, static]
-# - 'librseq_{version}_cppcheck'
-# - 'librseq_{version}_scan-build'
-# - 'librseq_{version}_coverity':
-# version: master
+ platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
+ builds: !!python/tuple [std]
+ confs: !!python/tuple [std, static]
+ touchstone: ''
+
+- 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: ''
+ - 'dev_review_librseq_{version}_{buildtype}':
+ buildtype: portbuild
+ platforms: !!python/tuple [deb12-armhf, deb12-arm64, deb12-ppc64el, deb12-i386]
+ builds: !!python/tuple [std]
+ confs: !!python/tuple [std]
+ touchstone: ''
- project:
name: librseq-views
views:
- - rseq
+ - Librseq