---
-# vim: sw=2 ts=2 sts=2 et :
+####################
+# COMMON FUNCTIONS #
+####################
-- job-template:
- #
- # job template for build C/C++ project
- #
- # Required Variables:
- # script: build script to execute
- #
+- c_job_common: &c_job_common
+ name: c-job-common
+
+ ######################
+ # Default parameters #
+ ######################
+
+ branch: master
+ submodule-recursive: true
+ submodule-disable: false
+ submodule-timeout: 10
+
+ #####################
+ # Job Configuration #
+ #####################
- name: '{project-name}-{stream}-verify-c'
project-type: freestyle
node: '{build-node}'
+ disabled: false
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- - infra-parameters:
+ - lf-infra-parameters:
project: '{project}'
branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - maven-exec:
- maven-version: '{maven-version}'
+ stream: '{stream}'
scm:
- - gerrit-trigger-scm:
- refspec: 'refs/heads/master'
- choosing-strategy: 'gerrit'
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ git-url: '$GIT_URL/$PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
submodule-recursive: '{submodule-recursive}'
+ submodule-disable: '{submodule-disable}'
+ submodule-timeout: '{submodule-timeout}'
+ choosing-strategy: default
wrappers:
- - infra-wrappers:
+ - lf-infra-wrappers:
build-timeout: '{build-timeout}'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ publishers:
+ - lf-infra-publish
+
+- job-template:
+ #
+ # job template for build C/C++ project
+ #
+ # Required Variables:
+ # script: build script to execute
+ #
+ name: '{project-name}-{stream}-verify-c'
+ id: gerrit-verify-c
+ <<: *c_job_common
triggers:
- gerrit-trigger-patch-submitted:
files: '**'
builders:
+ - lf-infra-pre-build
- shell: '{script}'
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
+- job-template:
+ # Job template for building & pushing docker images
+ #
+ # The purpose of this job template is to run:
+ # 1. login to the docker registry
+ # 2. run a specified shell builder
+ #
+ name: '{project-name}-{stream}-docker-c-shell-daily'
+ id: gerrit-docker-c-shell-daily
+ <<: *c_job_common
+ node: 'ubuntu1804-docker-8c-8g'
+
+ triggers:
+ # 12 AM UTC
+ - timed: '@daily'
+ - gerrit-trigger-release-manually:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+
+ builders:
+ - lf-infra-pre-build
+ - provide-maven-settings:
+ global-settings-file: 'global-settings'
+ settings-file: '{mvn-settings}'
+ - docker-login
+ - shell: '{script}'