X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fakraino-templates%2Fakraino-validation-templates.yaml;h=5efd2ac6ea647b9b90ce6f8750a3541d03a94982;hp=e8c96b4c18d6f23082568030de977b144afec47f;hb=HEAD;hpb=85c921743f2bba47655f18f08cb2b55009013f2f diff --git a/jjb/akraino-templates/akraino-validation-templates.yaml b/jjb/akraino-templates/akraino-validation-templates.yaml index e8c96b4..5efd2ac 100644 --- a/jjb/akraino-templates/akraino-validation-templates.yaml +++ b/jjb/akraino-templates/akraino-validation-templates.yaml @@ -1,157 +1,197 @@ --- +############ +# 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' + name: "validation-{stream}-docker" project-type: multijob - disabled: '{obj:disabled}' - node: 'centos7-builder-2c-1g' + disabled: "{obj:disabled}" + node: "centos7-builder-2c-1g" build-timeout: 90 parameters: - - validation-job-parameters: - project: '{project}' - branch: '{branch}' - stream: '{stream}' + - lf-infra-parameters: &validation_lf_infra_parameters + project: "{project}" + branch: "{branch}" + stream: "{stream}" properties: - throttle: max-per-node: 1 - option: 'project' + option: "project" - build-blocker: use-build-blocker: true blocking-jobs: - - 'validation-docker-.*' - blocking-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 + - "validation-docker-.*" + block-level: "NODE" - triggers: - # Build nigtly at 12:10 AM - - timed: '10 0 * * *' + triggers: "{obj:triggers}" builders: - multijob: - name: 'build validation images' + name: "build validation images" execution-type: PARALLEL projects: - - name: 'validation-docker-build-amd64-{stream}' + - name: "validation-docker-build-amd64-{stream}" <<: *docker-build-job-settings - - name: 'validation-docker-build-arm64-{stream}' + - name: "validation-docker-build-arm64-{stream}" <<: *docker-build-job-settings - multijob: - name: 'publish validation manifests' + name: "publish validation manifests" condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'validation-docker-manifest-{stream}' + - name: "validation-docker-manifest-{stream}" <<: *docker-build-job-settings publishers: + - lf-infra-publish - email: - recipients: 'cristina.pauna@enea.com' + 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}' + name: "validation-docker-build-{arch_tag}-{stream}" + disabled: "{obj:disabled}" + node: "{slave_label}" 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: use-build-blocker: true blocking-jobs: - - 'validation-docker-build-.*' - blocking-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}' + - "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-timeout: "{submodule-timeout}" submodule-disable: false choosing-strategy: default 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 + settings-file: "{mvn-settings}" - 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 + publishers: + - lf-infra-publish + - job-template: id: akraino-validation-docker-manifest - name: 'validation-docker-manifest-{stream}' - node: 'ubuntu1604-docker-8c-8g' + name: "validation-docker-manifest-{stream}" + 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}' + 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 + settings-file: "{mvn-settings}" - 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 + + 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