---
############
# SETTINGS #
############
# settings for jobs run in multijob phases
- _docker-build-job-settings: &docker-build-job-settings
name: docker_build_job_settings
current-parameters: true
git-revision: false
node-parameters: false
kill-phase-on: FAILURE
abort-all-jobs: false
#############
# TEMPLATES #
#############
- job-template:
id: akraino-validation-docker-multiarch
name: "validation-{stream}-docker"
project-type: multijob
disabled: "{obj:disabled}"
node: "centos7-builder-2c-1g"
build-timeout: 90
parameters:
- lf-infra-parameters: &validation_lf_infra_parameters
project: "{project}"
branch: "{branch}"
stream: "{stream}"
properties:
- throttle:
max-per-node: 1
option: "project"
- build-blocker:
use-build-blocker: true
blocking-jobs:
- "validation-docker-.*"
block-level: "NODE"
triggers: "{obj:triggers}"
builders:
- multijob:
name: "build validation images"
execution-type: PARALLEL
projects:
- name: "validation-docker-build-amd64-{stream}"
<<: *docker-build-job-settings
- name: "validation-docker-build-arm64-{stream}"
<<: *docker-build-job-settings
- multijob:
name: "publish validation manifests"
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- name: "validation-docker-manifest-{stream}"
<<: *docker-build-job-settings
publishers:
- lf-infra-publish
- email:
recipients: >
cristina.pauna@enea.com
juha.kosonen@nokia.com
- job-template:
id: akraino-validation-docker-specific-arch
name: "validation-docker-build-{arch_tag}-{stream}"
disabled: "{obj:disabled}"
node: "{slave_label}"
build-timeout: 75
parameters:
- lf-infra-parameters: *validation_lf_infra_parameters
properties:
- build-blocker:
use-build-blocker: true
blocking-jobs:
- "validation-docker-build-.*"
block-level: "NODE"
scm: &validation_scm
# lf-infra-gerrit-scm hardcodes branch specifier to refs/heads; while
# lf-infra-github-scm does not, allowing us to pass a fully custom '{branch}'
- lf-infra-github-scm:
jenkins-ssh-credential: "{jenkins-ssh-credential}"
url: "{git-url}/{project}.git"
refspec: "$GERRIT_REFSPEC"
branch: "$STREAM"
submodule-recursive: false
submodule-timeout: "{submodule-timeout}"
submodule-disable: false
choosing-strategy: default
builders:
- lf-infra-docker-login:
global-settings-file: global-settings
settings-file: "{mvn-settings}"
- shell: |
#!/bin/bash -ex
if [ "{branch}" != "{stream}" ]; then export TAG_VER=$STREAM; fi
make -k -C docker push-all
docker system prune -af
publishers:
- lf-infra-publish
- job-template:
id: akraino-validation-docker-manifest
name: "validation-docker-manifest-{stream}"
node: "ubuntu1804-docker-8c-8g"
build-timeout: 15
parameters:
- lf-infra-parameters: *validation_lf_infra_parameters
disabled: "{obj:disabled}"
scm: *validation_scm
builders:
- lf-infra-docker-login:
global-settings-file: global-settings
settings-file: "{mvn-settings}"
- shell: |
#!/bin/bash -ex
if [ "{branch}" != "{stream}" ]; then export TAG_VER=$STREAM; fi
for sd in docker/*/.; do make -k -C $sd .push_manifest; done
publishers:
- lf-infra-publish
- job-template:
id: akraino-validation-lab-daily
name: "validation-{validation_lab}-daily-{stream}"
concurrent: true
node: "{build-node}"
parameters:
- lab_params
builders:
- trigger-builds:
- project: "bluval-daily-{stream}"
predefined-parameters: LAB_SILO={validation_lab}
same-node: true
current-parameters: true
block: true
publishers:
- lf-infra-publish
- job-template:
id: bluval-run-daily-tests
name: "bluval-daily-{stream}"
concurrent: true
node: "{build-node}"
lab-silo: ""
parameters:
- lf-infra-parameters: *validation_lf_infra_parameters
- string:
name: DEPLOY_SCENARIO
default: ""
- bluval-defaults:
lab-silo: "{lab-silo}"
scm:
- lf-infra-github-scm:
jenkins-ssh-credential: "{jenkins-ssh-credential}"
url: "{git-url}/{project}.git"
refspec: "$GERRIT_REFSPEC"
branch: "$GERRIT_BRANCH"
submodule-recursive: false
submodule-timeout: "{submodule-timeout}"
submodule-disable: true
choosing-strategy: default
builders:
- description-setter:
description: "POD: $NODE_NAME
BLUEPRINT: $BLUEPRINT
LAB: $LAB_SILO
LAYER: $LAYER"
- lf-infra-create-netrc:
server-id: logs
- shell: !include-raw-escape:
- ../shell/run_bluval.sh
publishers:
- lf-infra-publish
- robot:
output-path: "results"
report-html: "**/report.html"
log-html: "**/log.html"
output-xml: "**/output.xml"
- logparser:
use-project-rules: true
parse-rules: "./bluval/rules.txt"
unstable-on-warning: false
fail-on-error: true
show-graphs: true