blob: 40c517063f2d33ab4a6ed9f1e5699b316c212ad2 [file] [log] [blame]
---
####################
# COMMON FUNCTIONS #
####################
- 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 #
#####################
project-type: freestyle
node: '{build-node}'
disabled: false
properties:
- infra-properties:
build-days-to-keep: '{build-days-to-keep}'
parameters:
- lf-infra-parameters:
project: '{project}'
branch: '{branch}'
stream: '{stream}'
scm:
- 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:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
publishers:
- lf-infra-publish
#################
# JOB TEMPLATES #
#################
- 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:
server: '{server-name}'
project: '{project}'
branch: '{branch}'
files: '**'
builders:
- lf-infra-pre-build
- shell: '{script}'
- 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: 'ubuntu1604-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}'