build-timeout: 90
parameters:
- - validation-job-parameters:
+ - lf-infra-parameters: &validation_lf_infra_parameters
project: '{project}'
branch: '{branch}'
stream: '{stream}'
blocking-jobs:
- 'validation-docker-.*'
block-level: 'NODE'
- scm:
- - validation-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}/{project}.git'
- refspec: ''
- refs_tag: '{refs_tag}'
- stream: '{stream}'
- submodule-recursive: false
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: false
- choosing-strategy: default
- triggers:
- # Build nigtly at 12:10 AM
- - timed: '10 0 * * *'
+ triggers: '{obj:triggers}'
builders:
- multijob:
build-timeout: 75
parameters:
- - validation-job-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
- arch_tag: '{arch_tag}'
+ - lf-infra-parameters: *validation_lf_infra_parameters
properties:
- build-blocker:
blocking-jobs:
- 'validation-docker-build-.*'
block-level: 'NODE'
- scm:
- - validation-infra-gerrit-scm:
+ 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}'
- git-url: '{git-url}/{project}.git'
- refspec: ''
- refs_tag: '{refs_tag}'
- stream: '{stream}'
+ url: '{git-url}/{project}.git'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$STREAM'
submodule-recursive: false
submodule-timeout: '{submodule-timeout}'
submodule-disable: false
- lf-infra-docker-login:
global-settings-file: global-settings
settings-file: '{mvn-settings}'
- - conditional-step:
- condition-kind: regex-match
- regex: '^tags$'
- label: '{refs_tag}'
- steps:
- - shell: |
- #!/bin/bash -ex
- echo "export TAG_VER=$STREAM" >> tag_version.sh
- shell: |
#!/bin/bash -ex
- if [ -f tag_version.sh ]; then source tag_version.sh; fi
+ if [ "{branch}" != "{stream}" ]; then export TAG_VER=$STREAM; fi
make -k -C docker push-all
- rm -f tag_version.sh
- - shell: |
- #!/bin/bash -ex
docker system prune -af
- job-template:
id: akraino-validation-docker-manifest
name: 'validation-docker-manifest-{stream}'
- node: 'ubuntu1604-docker-8c-8g'
+ node: 'ubuntu1804-docker-8c-8g'
build-timeout: 15
parameters:
- - validation-job-parameters:
- project: '{project}'
- branch: '{branch}'
- stream: '{stream}'
+ - lf-infra-parameters: *validation_lf_infra_parameters
disabled: '{obj:disabled}'
- scm:
- - validation-infra-gerrit-scm:
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
- git-url: '{git-url}/{project}.git'
- refspec: ''
- refs_tag: '{refs_tag}'
- stream: '{stream}'
- submodule-recursive: false
- submodule-timeout: '{submodule-timeout}'
- submodule-disable: false
- choosing-strategy: default
+ scm: *validation_scm
builders:
- lf-infra-docker-login:
global-settings-file: global-settings
settings-file: '{mvn-settings}'
- - conditional-step:
- condition-kind: regex-match
- regex: '^tags$'
- label: '{refs_tag}'
- steps:
- - shell: |
- #!/bin/bash -ex
- echo "export TAG_VER=$STREAM" >> tag_version.sh
- shell: |
#!/bin/bash -ex
- if [ -f tag_version.sh ]; then source tag_version.sh; fi
+ if [ "{branch}" != "{stream}" ]; then export TAG_VER=$STREAM; fi
for sd in docker/*/.; do make -k -C $sd .push_manifest; done
- rm -f tag_version.sh
- job-template:
id: akraino-validation-lab-daily
concurrent: true
node: '{build-node}'
parameters:
+ - lf-infra-parameters: *validation_lf_infra_parameters
- string:
name: DEPLOY_SCENARIO
default: ''
- {'bluval-defaults'}
scm:
- - git:
- credentials-id: '{jenkins-ssh-credential}'
- url: '{git-url}/validation.git'
- refspec: ''
- branches:
- - 'refs/heads/{branch}'
- skip-tag: true
- wipe-workspace: true
- submodule:
- disable: true
- recursive: false
- timeout: '{submodule-timeout}'
+ - 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"
+ description: "POD: $NODE_NAME<br/>BLUEPRINT: $BLUEPRINT<br/>LAB: $LAB_SILO<br/>LAYER: $LAYER"
- lf-infra-create-netrc:
server-id: logs
- shell: !include-raw-escape:
- ../shell/run_bluval.sh
publishers:
+ - 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: true
+ unstable-on-warning: false
fail-on-error: true
- show-graphs: false
+ show-graphs: true