From afff1f88a918215eeb9060c4f43c5a332c8eb32c Mon Sep 17 00:00:00 2001 From: Trevor Bramwell Date: Wed, 16 May 2018 16:23:56 -0700 Subject: Rename files under jjb from 'yml' to 'yaml' global-jjb only supports the .yaml file ending for jjb jobs. Instead of waiting for a release we're going to rename the files. Change-Id: Icf3339eacd2320c583333e02250998cf6b1881f7 Signed-off-by: Trevor Bramwell --- jjb/functest/functest-daily-jobs.yaml | 438 +++++++++++++++++++++ jjb/functest/functest-daily-jobs.yml | 438 --------------------- jjb/functest/functest-docker.yaml | 286 ++++++++++++++ jjb/functest/functest-docker.yml | 286 -------------- jjb/functest/functest-kubernetes-docker.yaml | 182 +++++++++ jjb/functest/functest-kubernetes-docker.yml | 182 --------- jjb/functest/functest-kubernetes-project-jobs.yaml | 257 ++++++++++++ jjb/functest/functest-kubernetes-project-jobs.yml | 257 ------------ jjb/functest/functest-project-jobs.yaml | 257 ++++++++++++ jjb/functest/functest-project-jobs.yml | 257 ------------ jjb/functest/functest-weekly-jobs.yaml | 128 ++++++ jjb/functest/functest-weekly-jobs.yml | 128 ------ jjb/functest/xtesting-docker.yaml | 224 +++++++++++ jjb/functest/xtesting-docker.yml | 224 ----------- jjb/functest/xtesting-project-jobs.yaml | 257 ++++++++++++ jjb/functest/xtesting-project-jobs.yml | 257 ------------ 16 files changed, 2029 insertions(+), 2029 deletions(-) create mode 100644 jjb/functest/functest-daily-jobs.yaml delete mode 100644 jjb/functest/functest-daily-jobs.yml create mode 100644 jjb/functest/functest-docker.yaml delete mode 100644 jjb/functest/functest-docker.yml create mode 100644 jjb/functest/functest-kubernetes-docker.yaml delete mode 100644 jjb/functest/functest-kubernetes-docker.yml create mode 100644 jjb/functest/functest-kubernetes-project-jobs.yaml delete mode 100644 jjb/functest/functest-kubernetes-project-jobs.yml create mode 100644 jjb/functest/functest-project-jobs.yaml delete mode 100644 jjb/functest/functest-project-jobs.yml create mode 100644 jjb/functest/functest-weekly-jobs.yaml delete mode 100644 jjb/functest/functest-weekly-jobs.yml create mode 100644 jjb/functest/xtesting-docker.yaml delete mode 100644 jjb/functest/xtesting-docker.yml create mode 100644 jjb/functest/xtesting-project-jobs.yaml delete mode 100644 jjb/functest/xtesting-project-jobs.yml (limited to 'jjb/functest') diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml new file mode 100644 index 000000000..ae226b665 --- /dev/null +++ b/jjb/functest/functest-daily-jobs.yaml @@ -0,0 +1,438 @@ +--- +################################### +# job configuration for functest +################################### +- project: + name: functest-daily + + project: functest + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # Installers using labels + # CI PODs + # This section should only contain the installers + # that have been switched using labels for slaves + # ------------------------------- + pod: + # fuel CI PODs + - baremetal: + slave-label: fuel-baremetal + installer: fuel + <<: *master + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *master + - baremetal: + slave-label: fuel-baremetal + installer: fuel + <<: *fraser + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *fraser + # joid CI PODs + - baremetal: + slave-label: joid-baremetal + installer: joid + <<: *master + - virtual: + slave-label: joid-virtual + installer: joid + <<: *master + - baremetal: + slave-label: joid-baremetal + installer: joid + <<: *fraser + - virtual: + slave-label: joid-virtual + installer: joid + <<: *fraser + # compass CI PODs + - baremetal: + slave-label: compass-baremetal + installer: compass + <<: *master + - virtual: + slave-label: compass-virtual + installer: compass + <<: *master + - baremetal: + slave-label: compass-baremetal + installer: compass + <<: *fraser + - virtual: + slave-label: compass-virtual + installer: compass + <<: *fraser + # apex CI PODs + - virtual: + slave-label: apex-virtual-master + installer: apex + <<: *master + - baremetal: + slave-label: apex-baremetal-master + installer: apex + <<: *master + - virtual: + slave-label: apex-virtual-fraser + installer: apex + <<: *fraser + - baremetal: + slave-label: apex-baremetal-fraser + installer: apex + <<: *fraser + # armband CI PODs + - armband-baremetal: + slave-label: armband-baremetal + installer: fuel + <<: *master + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *master + - armband-baremetal: + slave-label: armband-baremetal + installer: fuel + <<: *fraser + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *fraser + # daisy CI PODs + - baremetal: + slave-label: daisy-baremetal + installer: daisy + <<: *master + - virtual: + slave-label: daisy-virtual + installer: daisy + <<: *master + - baremetal: + slave-label: daisy-baremetal + installer: daisy + <<: *fraser + - virtual: + slave-label: daisy-virtual + installer: daisy + <<: *fraser + # netvirt 3rd party ci + - virtual: + slave-label: odl-netvirt-virtual + installer: netvirt + <<: *master + # ------------------------------- + # None-CI PODs + # ------------------------------- + - orange-pod1: + slave-label: '{pod}' + installer: joid + <<: *master + - orange-pod5: + slave-label: '{pod}' + installer: fuel + <<: *master + - orange-pod2: + slave-label: '{pod}' + installer: joid + <<: *master + - baremetal-centos: + slave-label: 'intel-pod8' + installer: compass + <<: *master + - nokia-pod1: + slave-label: '{pod}' + installer: apex + <<: *master + - zte-pod1: + slave-label: '{pod}' + installer: fuel + <<: *master + - zte-pod1: + slave-label: '{pod}' + installer: fuel + <<: *fraser + - zte-pod2: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod2: + slave-label: '{pod}' + installer: daisy + <<: *fraser + - zte-pod3: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod3: + slave-label: '{pod}' + installer: daisy + <<: *fraser + - zte-pod9: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod9: + slave-label: '{pod}' + installer: daisy + <<: *fraser + # ------------------------------- + # PODs for verify jobs triggered by each patch upload + # - ool-virtual1: + # slave-label: '{pod}' + # installer: apex + # <<: *master + # ------------------------------- + + testsuite: + - 'suite': + job-timeout: 60 + - 'daily': + job-timeout: 360 + - 'arm-daily': + job-timeout: 480 + + jobs: + - 'functest-{installer}-{pod}-{testsuite}-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'functest-{installer}-{pod}-{testsuite}-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: '{job-timeout}' + abort: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + - 'functest-{testsuite}-parameter' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + - string: + name: CLEAN_DOCKER_IMAGES + default: 'false' + description: 'Remove downloaded docker images (opnfv/functest*:*)' + - functest-parameter: + gs-pathname: '{gs-pathname}' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'functest-{testsuite}-builder' + + +######################## +# parameter macros +######################## +- parameter: + name: functest-daily-parameter + parameters: + - string: + name: FUNCTEST_MODE + default: 'daily' + description: "Daily suite name to run" + +- parameter: + name: functest-arm-daily-parameter + parameters: + - string: + name: FUNCTEST_MODE + default: 'arm-daily' + description: "Daily suite name (Aarch64) to run" + +- parameter: + name: functest-suite-parameter + parameters: + - choice: + name: FUNCTEST_MODE + choices: + - 'tier' + - 'testcase' + default: 'tier' + description: "Test case or Tier to be run" + - choice: + name: FUNCTEST_SUITE_NAME + choices: + - 'connection_check' + - 'api_check' + - 'snaps_health_check' + - 'vping_userdata' + - 'vping_ssh' + - 'tempest_smoke_serial' + - 'rally_sanity' + - 'odl' + - 'odl_netvirt' + - 'snaps_smoke' + - 'refstack_defcore' + - 'promise' + - 'doctor' + - 'bgpvpn' + - 'parser' + - 'security_scan' + - 'tempest_full_parallel' + - 'rally_full' + - 'cloudify_ims' + - 'cloudify_vrouter' + - 'orchestra_openims' + - 'orchestra_clearwaterims' + default: 'connection_check' + - choice: + name: FUNCTEST_TIER + choices: + - 'healthcheck' + - 'smoke' + - 'features' + - 'components' + - 'vnf' + default: 'healthcheck' + - string: + name: TESTCASE_OPTIONS + default: '' + description: 'Additional parameters specific to test case(s)' + +- parameter: + name: functest-parameter + parameters: + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where the opnfv documents will be stored in gs repository" + - string: + name: FUNCTEST_REPO_DIR + default: "/home/opnfv/repos/functest" + description: "Directory where the Functest repository is cloned" + - string: + name: PUSH_RESULTS_TO_DB + default: "true" + description: "Push the results of all the tests to the resultDB" + - string: + name: CI_DEBUG + default: 'false' + description: "Show debug output information" + - string: + name: RC_FILE_PATH + default: '' + description: "Path to the OS credentials file if given" +######################## +# trigger macros +######################## +- trigger: + name: 'functest-master' + triggers: + - pollscm: + cron: "H 9 * * *" +######################## +# builder macros +######################## +- builder: + name: functest-daily-builder + builders: + - 'functest-cleanup' + - 'functest-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-arm-daily-builder + builders: + - 'functest-cleanup' + - 'functest-arm-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-suite-builder + builders: + - 'functest-cleanup' + - 'functest-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-daily + builders: + # yamllint disable rule:indentation + - conditional-step: + condition-kind: regex-match + regex: "os-.*" + label: '$DEPLOY_SCENARIO' + steps: + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + - conditional-step: + condition-kind: regex-match + regex: "k8-.*" + label: '$DEPLOY_SCENARIO' + steps: + - shell: + !include-raw: + - ../../utils/fetch_k8_conf.sh + - ./functest-k8.sh + +# yamllint enable rule:indentation +- builder: + name: functest-arm-daily + builders: + # yamllint disable rule:indentation + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + +# yamllint enable rule:indentation +- builder: + name: functest-store-results + builders: + - shell: + !include-raw: ../../utils/push-test-logs.sh + +- builder: + name: functest-cleanup + builders: + - shell: + !include-raw: ./functest-cleanup.sh + +- builder: + name: functest-exit + builders: + - shell: + !include-raw: ./functest-exit.sh diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml deleted file mode 100644 index ae226b665..000000000 --- a/jjb/functest/functest-daily-jobs.yml +++ /dev/null @@ -1,438 +0,0 @@ ---- -################################### -# job configuration for functest -################################### -- project: - name: functest-daily - - project: functest - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - # ------------------------------- - # POD, INSTALLER, AND BRANCH MAPPING - # ------------------------------- - # Installers using labels - # CI PODs - # This section should only contain the installers - # that have been switched using labels for slaves - # ------------------------------- - pod: - # fuel CI PODs - - baremetal: - slave-label: fuel-baremetal - installer: fuel - <<: *master - - virtual: - slave-label: fuel-virtual - installer: fuel - <<: *master - - baremetal: - slave-label: fuel-baremetal - installer: fuel - <<: *fraser - - virtual: - slave-label: fuel-virtual - installer: fuel - <<: *fraser - # joid CI PODs - - baremetal: - slave-label: joid-baremetal - installer: joid - <<: *master - - virtual: - slave-label: joid-virtual - installer: joid - <<: *master - - baremetal: - slave-label: joid-baremetal - installer: joid - <<: *fraser - - virtual: - slave-label: joid-virtual - installer: joid - <<: *fraser - # compass CI PODs - - baremetal: - slave-label: compass-baremetal - installer: compass - <<: *master - - virtual: - slave-label: compass-virtual - installer: compass - <<: *master - - baremetal: - slave-label: compass-baremetal - installer: compass - <<: *fraser - - virtual: - slave-label: compass-virtual - installer: compass - <<: *fraser - # apex CI PODs - - virtual: - slave-label: apex-virtual-master - installer: apex - <<: *master - - baremetal: - slave-label: apex-baremetal-master - installer: apex - <<: *master - - virtual: - slave-label: apex-virtual-fraser - installer: apex - <<: *fraser - - baremetal: - slave-label: apex-baremetal-fraser - installer: apex - <<: *fraser - # armband CI PODs - - armband-baremetal: - slave-label: armband-baremetal - installer: fuel - <<: *master - - armband-virtual: - slave-label: armband-virtual - installer: fuel - <<: *master - - armband-baremetal: - slave-label: armband-baremetal - installer: fuel - <<: *fraser - - armband-virtual: - slave-label: armband-virtual - installer: fuel - <<: *fraser - # daisy CI PODs - - baremetal: - slave-label: daisy-baremetal - installer: daisy - <<: *master - - virtual: - slave-label: daisy-virtual - installer: daisy - <<: *master - - baremetal: - slave-label: daisy-baremetal - installer: daisy - <<: *fraser - - virtual: - slave-label: daisy-virtual - installer: daisy - <<: *fraser - # netvirt 3rd party ci - - virtual: - slave-label: odl-netvirt-virtual - installer: netvirt - <<: *master - # ------------------------------- - # None-CI PODs - # ------------------------------- - - orange-pod1: - slave-label: '{pod}' - installer: joid - <<: *master - - orange-pod5: - slave-label: '{pod}' - installer: fuel - <<: *master - - orange-pod2: - slave-label: '{pod}' - installer: joid - <<: *master - - baremetal-centos: - slave-label: 'intel-pod8' - installer: compass - <<: *master - - nokia-pod1: - slave-label: '{pod}' - installer: apex - <<: *master - - zte-pod1: - slave-label: '{pod}' - installer: fuel - <<: *master - - zte-pod1: - slave-label: '{pod}' - installer: fuel - <<: *fraser - - zte-pod2: - slave-label: '{pod}' - installer: daisy - <<: *master - - zte-pod2: - slave-label: '{pod}' - installer: daisy - <<: *fraser - - zte-pod3: - slave-label: '{pod}' - installer: daisy - <<: *master - - zte-pod3: - slave-label: '{pod}' - installer: daisy - <<: *fraser - - zte-pod9: - slave-label: '{pod}' - installer: daisy - <<: *master - - zte-pod9: - slave-label: '{pod}' - installer: daisy - <<: *fraser - # ------------------------------- - # PODs for verify jobs triggered by each patch upload - # - ool-virtual1: - # slave-label: '{pod}' - # installer: apex - # <<: *master - # ------------------------------- - - testsuite: - - 'suite': - job-timeout: 60 - - 'daily': - job-timeout: 360 - - 'arm-daily': - job-timeout: 480 - - jobs: - - 'functest-{installer}-{pod}-{testsuite}-{stream}' - -################################ -# job template -################################ -- job-template: - name: 'functest-{installer}-{pod}-{testsuite}-{stream}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - wrappers: - - build-name: - name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: '{job-timeout}' - abort: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults' - - 'functest-{testsuite}-parameter' - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' - - string: - name: CLEAN_DOCKER_IMAGES - default: 'false' - description: 'Remove downloaded docker images (opnfv/functest*:*)' - - functest-parameter: - gs-pathname: '{gs-pathname}' - - scm: - - git-scm - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 'functest-{testsuite}-builder' - - -######################## -# parameter macros -######################## -- parameter: - name: functest-daily-parameter - parameters: - - string: - name: FUNCTEST_MODE - default: 'daily' - description: "Daily suite name to run" - -- parameter: - name: functest-arm-daily-parameter - parameters: - - string: - name: FUNCTEST_MODE - default: 'arm-daily' - description: "Daily suite name (Aarch64) to run" - -- parameter: - name: functest-suite-parameter - parameters: - - choice: - name: FUNCTEST_MODE - choices: - - 'tier' - - 'testcase' - default: 'tier' - description: "Test case or Tier to be run" - - choice: - name: FUNCTEST_SUITE_NAME - choices: - - 'connection_check' - - 'api_check' - - 'snaps_health_check' - - 'vping_userdata' - - 'vping_ssh' - - 'tempest_smoke_serial' - - 'rally_sanity' - - 'odl' - - 'odl_netvirt' - - 'snaps_smoke' - - 'refstack_defcore' - - 'promise' - - 'doctor' - - 'bgpvpn' - - 'parser' - - 'security_scan' - - 'tempest_full_parallel' - - 'rally_full' - - 'cloudify_ims' - - 'cloudify_vrouter' - - 'orchestra_openims' - - 'orchestra_clearwaterims' - default: 'connection_check' - - choice: - name: FUNCTEST_TIER - choices: - - 'healthcheck' - - 'smoke' - - 'features' - - 'components' - - 'vnf' - default: 'healthcheck' - - string: - name: TESTCASE_OPTIONS - default: '' - description: 'Additional parameters specific to test case(s)' - -- parameter: - name: functest-parameter - parameters: - - string: - name: GS_PATHNAME - default: '{gs-pathname}' - description: "Version directory where the opnfv documents will be stored in gs repository" - - string: - name: FUNCTEST_REPO_DIR - default: "/home/opnfv/repos/functest" - description: "Directory where the Functest repository is cloned" - - string: - name: PUSH_RESULTS_TO_DB - default: "true" - description: "Push the results of all the tests to the resultDB" - - string: - name: CI_DEBUG - default: 'false' - description: "Show debug output information" - - string: - name: RC_FILE_PATH - default: '' - description: "Path to the OS credentials file if given" -######################## -# trigger macros -######################## -- trigger: - name: 'functest-master' - triggers: - - pollscm: - cron: "H 9 * * *" -######################## -# builder macros -######################## -- builder: - name: functest-daily-builder - builders: - - 'functest-cleanup' - - 'functest-daily' - - 'functest-store-results' - - 'functest-exit' - -- builder: - name: functest-arm-daily-builder - builders: - - 'functest-cleanup' - - 'functest-arm-daily' - - 'functest-store-results' - - 'functest-exit' - -- builder: - name: functest-suite-builder - builders: - - 'functest-cleanup' - - 'functest-daily' - - 'functest-store-results' - - 'functest-exit' - -- builder: - name: functest-daily - builders: - # yamllint disable rule:indentation - - conditional-step: - condition-kind: regex-match - regex: "os-.*" - label: '$DEPLOY_SCENARIO' - steps: - - shell: - !include-raw: - - ./functest-env-presetup.sh - - ../../utils/fetch_os_creds.sh - - ./functest-alpine.sh - - conditional-step: - condition-kind: regex-match - regex: "k8-.*" - label: '$DEPLOY_SCENARIO' - steps: - - shell: - !include-raw: - - ../../utils/fetch_k8_conf.sh - - ./functest-k8.sh - -# yamllint enable rule:indentation -- builder: - name: functest-arm-daily - builders: - # yamllint disable rule:indentation - - shell: - !include-raw: - - ./functest-env-presetup.sh - - ../../utils/fetch_os_creds.sh - - ./functest-alpine.sh - -# yamllint enable rule:indentation -- builder: - name: functest-store-results - builders: - - shell: - !include-raw: ../../utils/push-test-logs.sh - -- builder: - name: functest-cleanup - builders: - - shell: - !include-raw: ./functest-cleanup.sh - -- builder: - name: functest-exit - builders: - - shell: - !include-raw: ./functest-exit.sh diff --git a/jjb/functest/functest-docker.yaml b/jjb/functest/functest-docker.yaml new file mode 100644 index 000000000..50c7c3816 --- /dev/null +++ b/jjb/functest/functest-docker.yaml @@ -0,0 +1,286 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: functest-docker + + project: functest + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + + # yamllint disable rule:key-duplicates + image: + - 'core' + - 'healthcheck' + - 'features' + - 'components' + - 'parser' + - 'smoke' + - 'vnf' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "functest-docker-{stream}" + - "functest-{image}-docker-build-{arch_tag}-{stream}" + - "functest-{image}-docker-manifest-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'functest-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - functest-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build functest-core images' + execution-type: PARALLEL + projects: + - name: 'functest-core-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-core-docker-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish functest-core manifests' + execution-type: PARALLEL + projects: + - name: 'functest-core-docker-manifest-{stream}' + <<: *manifest-job-settings + - multijob: + name: 'build all functest images' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'functest-healthcheck-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-healthcheck-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-features-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-features-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-components-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-components-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-parser-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-parser-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-smoke-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-smoke-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-vnf-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-vnf-docker-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish all manifests' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'functest-healthcheck-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-features-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-components-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-parser-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-smoke-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-vnf-docker-manifest-{stream}' + <<: *manifest-job-settings + + publishers: + - 'functest-amd64-recipients' + - 'functest-arm64-recipients' + +- job-template: + name: 'functest-{image}-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - functest-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + case "{arch_tag}" in + "arm64") + sudo amd64_dirs= arm64_dirs=docker/{image} bash ./build.sh ;; + *) + sudo amd64_dirs=docker/{image} arm64_dirs= bash ./build.sh ;; + esac + exit $? + +- job-template: + name: 'functest-{image}-docker-manifest-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu' + description: 'Slave label on Jenkins' + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + + + disabled: '{obj:disabled}' + + builders: + - shell: | + #!/bin/bash -ex + case "{stream}" in + "master") + tag="latest" ;; + *) + tag="{stream}" ;; + esac + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template $REPO/functest-{image}:ARCH-$tag \ + --target $REPO/functest-{image}:$tag + exit $? + +# parameter macro +- parameter: + name: functest-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - string: + name: DOCKERFILE + default: "Dockerfile" + description: "Dockerfile to use for creating the image." + - string: + name: ARCH_TAG + default: "{arch_tag}" + description: "If set, this value will be added to the docker image tag as a prefix" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + +# publisher macros +- publisher: + name: 'functest-arm64-recipients' + publishers: + - email: + recipients: > + cristina.pauna@enea.com + alexandru.avadanii@enea.com + delia.popescu@enea.com + +- publisher: + name: 'functest-amd64-recipients' + publishers: + - email: + recipients: > + jalausuch@suse.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + juha.kosonen@nokia.com wangwulin@huawei.com + valentin.boucher@kontron.com diff --git a/jjb/functest/functest-docker.yml b/jjb/functest/functest-docker.yml deleted file mode 100644 index 50c7c3816..000000000 --- a/jjb/functest/functest-docker.yml +++ /dev/null @@ -1,286 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: functest-docker - - project: functest - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: - branch: 'stable/{stream}' - disabled: false - - arch_tag: - - 'amd64': - slave_label: 'opnfv-build-ubuntu' - - 'arm64': - slave_label: 'opnfv-build-ubuntu-arm' - - # yamllint disable rule:key-duplicates - image: - - 'core' - - 'healthcheck' - - 'features' - - 'components' - - 'parser' - - 'smoke' - - 'vnf' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - manifest-job-settings: &manifest-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "functest-docker-{stream}" - - "functest-{image}-docker-build-{arch_tag}-{stream}" - - "functest-{image}-docker-manifest-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'functest-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - functest-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - builders: - - multijob: - name: 'build functest-core images' - execution-type: PARALLEL - projects: - - name: 'functest-core-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-core-docker-build-arm64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish functest-core manifests' - execution-type: PARALLEL - projects: - - name: 'functest-core-docker-manifest-{stream}' - <<: *manifest-job-settings - - multijob: - name: 'build all functest images' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-healthcheck-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-healthcheck-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-features-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-features-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-components-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-components-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-parser-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-parser-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-smoke-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-smoke-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-vnf-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-vnf-docker-build-arm64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish all manifests' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-healthcheck-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-features-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-components-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-parser-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-smoke-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-vnf-docker-manifest-{stream}' - <<: *manifest-job-settings - - publishers: - - 'functest-amd64-recipients' - - 'functest-arm64-recipients' - -- job-template: - name: 'functest-{image}-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - functest-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - scm: - - git-scm - builders: - - shell: | - #!/bin/bash -ex - case "{arch_tag}" in - "arm64") - sudo amd64_dirs= arm64_dirs=docker/{image} bash ./build.sh ;; - *) - sudo amd64_dirs=docker/{image} arm64_dirs= bash ./build.sh ;; - esac - exit $? - -- job-template: - name: 'functest-{image}-docker-manifest-{stream}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: 'opnfv-build-ubuntu' - description: 'Slave label on Jenkins' - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - - - disabled: '{obj:disabled}' - - builders: - - shell: | - #!/bin/bash -ex - case "{stream}" in - "master") - tag="latest" ;; - *) - tag="{stream}" ;; - esac - sudo manifest-tool push from-args \ - --platforms linux/amd64,linux/arm64 \ - --template $REPO/functest-{image}:ARCH-$tag \ - --target $REPO/functest-{image}:$tag - exit $? - -# parameter macro -- parameter: - name: functest-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - string: - name: DOCKERFILE - default: "Dockerfile" - description: "Dockerfile to use for creating the image." - - string: - name: ARCH_TAG - default: "{arch_tag}" - description: "If set, this value will be added to the docker image tag as a prefix" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - -# publisher macros -- publisher: - name: 'functest-arm64-recipients' - publishers: - - email: - recipients: > - cristina.pauna@enea.com - alexandru.avadanii@enea.com - delia.popescu@enea.com - -- publisher: - name: 'functest-amd64-recipients' - publishers: - - email: - recipients: > - jalausuch@suse.com morgan.richomme@orange.com - cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - juha.kosonen@nokia.com wangwulin@huawei.com - valentin.boucher@kontron.com diff --git a/jjb/functest/functest-kubernetes-docker.yaml b/jjb/functest/functest-kubernetes-docker.yaml new file mode 100644 index 000000000..2085251c6 --- /dev/null +++ b/jjb/functest/functest-kubernetes-docker.yaml @@ -0,0 +1,182 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: functest-kubernetes-docker + + project: functest-kubernetes + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + + # yamllint disable rule:key-duplicates + image: + - 'core' + - 'healthcheck' + - 'smoke' + - 'features' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "functest-kubernetes-docker-{stream}" + - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'functest-kubernetes-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - functest-kubernetes-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build functest-kubernetes-core images' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-core-docker-build-amd64-{stream}' + <<: *build-job-settings + - multijob: + name: 'build functest-kubernetes-[healthcheck,features] image' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-kubernetes-features-docker-build-amd64-{stream}' + <<: *build-job-settings + - multijob: + name: 'build functest-kubernetes-smoke image' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}' + <<: *build-job-settings + + publishers: + - 'functest-kubernetes-amd64-recipients' + +- job-template: + name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - functest-kubernetes-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + sudo amd64_dirs=docker/{image} bash ./build.sh + exit $? + +# parameter macro +- parameter: + name: functest-kubernetes-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - string: + name: DOCKERFILE + default: "Dockerfile" + description: "Dockerfile to use for creating the image." + - string: + name: ARCH_TAG + default: "{arch_tag}" + description: "If set, this value will be added to the docker image tag as a prefix" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + +- publisher: + name: 'functest-kubernetes-amd64-recipients' + publishers: + - email: + recipients: > + jalausuch@suse.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + juha.kosonen@nokia.com wangwulin@huawei.com + valentin.boucher@kontron.com diff --git a/jjb/functest/functest-kubernetes-docker.yml b/jjb/functest/functest-kubernetes-docker.yml deleted file mode 100644 index 2085251c6..000000000 --- a/jjb/functest/functest-kubernetes-docker.yml +++ /dev/null @@ -1,182 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: functest-kubernetes-docker - - project: functest-kubernetes - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: - branch: 'stable/{stream}' - disabled: false - - arch_tag: - - 'amd64': - slave_label: 'opnfv-build-ubuntu' - - # yamllint disable rule:key-duplicates - image: - - 'core' - - 'healthcheck' - - 'smoke' - - 'features' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - manifest-job-settings: &manifest-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "functest-kubernetes-docker-{stream}" - - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'functest-kubernetes-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - functest-kubernetes-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - builders: - - multijob: - name: 'build functest-kubernetes-core images' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-core-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'build functest-kubernetes-[healthcheck,features] image' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-kubernetes-features-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'build functest-kubernetes-smoke image' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}' - <<: *build-job-settings - - publishers: - - 'functest-kubernetes-amd64-recipients' - -- job-template: - name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - functest-kubernetes-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - scm: - - git-scm - builders: - - shell: | - #!/bin/bash -ex - sudo amd64_dirs=docker/{image} bash ./build.sh - exit $? - -# parameter macro -- parameter: - name: functest-kubernetes-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - string: - name: DOCKERFILE - default: "Dockerfile" - description: "Dockerfile to use for creating the image." - - string: - name: ARCH_TAG - default: "{arch_tag}" - description: "If set, this value will be added to the docker image tag as a prefix" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - -- publisher: - name: 'functest-kubernetes-amd64-recipients' - publishers: - - email: - recipients: > - jalausuch@suse.com morgan.richomme@orange.com - cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - juha.kosonen@nokia.com wangwulin@huawei.com - valentin.boucher@kontron.com diff --git a/jjb/functest/functest-kubernetes-project-jobs.yaml b/jjb/functest/functest-kubernetes-project-jobs.yaml new file mode 100644 index 000000000..7f8dd8d53 --- /dev/null +++ b/jjb/functest/functest-kubernetes-project-jobs.yaml @@ -0,0 +1,257 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: functest-kubernetes-project-jobs + + project: 'functest-kubernetes' + + jobs: + - 'functest-kubernetes-verify-{stream}' + - 'functest-kubernetes-verify-{phase}-{stream}' + - 'functest-kubernetes-docs-upload-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + phase: + - 'unit-tests-and-docs': + slave-label: 'opnfv-build-ubuntu' + - 'build-x86_64': + slave-label: 'opnfv-build-ubuntu' + - 'build-aarch64': + slave-label: 'opnfv-build-ubuntu-arm' + +- job-template: + name: 'functest-kubernetes-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - 'functest-kubernetes-verify-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - shell: | + #!/bin/bash + # we do nothing here as the main stuff will be done + # in phase jobs + echo "Triggering phase jobs!" + - multijob: + name: 'functest-kubernetes-build-and-unittest' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-verify-unit-tests-and-docs-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'functest-kubernetes-verify-build-x86_64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=x86_64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'functest-kubernetes-verify-build-aarch64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=aarch64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + +- job-template: + name: 'functest-kubernetes-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'functest-kubernetes-verify-{phase}-builders-macro' + + publishers: + - 'functest-kubernetes-verify-{phase}-publishers-macro' + +- job-template: + name: 'functest-kubernetes-docs-upload-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm + + triggers: + - 'functest-kubernetes-docs-upload-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - functest-kubernetes-upload-doc-artifact + +################################ +# job triggers +################################ +- trigger: + name: 'functest-kubernetes-verify-triggers-macro' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + +- trigger: + name: 'functest-kubernetes-docs-upload-triggers-macro' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' +################################ +# job builders +################################ + +- builder: + name: 'functest-kubernetes-verify-unit-tests-and-docs-builders-macro' + builders: + - shell: | + cd $WORKSPACE && tox + +- builder: + name: 'functest-kubernetes-verify-build-x86_64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-kubernetes-verify-build-aarch64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-kubernetes-upload-doc-artifact' + builders: + - shell: | + cd $WORKSPACE && tox -edocs + wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" +################################ +# job publishers +################################ +- publisher: + name: 'functest-kubernetes-verify-unit-tests-and-docs-publishers-macro' + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "true" + stability-auto-update: "true" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 10 + unhealthy: 20 + failing: 30 + - method: + healthy: 50 + unhealthy: 40 + failing: 30 + - email-jenkins-admins-on-failure + +- publisher: + name: 'functest-kubernetes-verify-build-x86_64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure + +- publisher: + name: 'functest-kubernetes-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-kubernetes-project-jobs.yml b/jjb/functest/functest-kubernetes-project-jobs.yml deleted file mode 100644 index 7f8dd8d53..000000000 --- a/jjb/functest/functest-kubernetes-project-jobs.yml +++ /dev/null @@ -1,257 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: functest-kubernetes-project-jobs - - project: 'functest-kubernetes' - - jobs: - - 'functest-kubernetes-verify-{stream}' - - 'functest-kubernetes-verify-{phase}-{stream}' - - 'functest-kubernetes-docs-upload-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - phase: - - 'unit-tests-and-docs': - slave-label: 'opnfv-build-ubuntu' - - 'build-x86_64': - slave-label: 'opnfv-build-ubuntu' - - 'build-aarch64': - slave-label: 'opnfv-build-ubuntu-arm' - -- job-template: - name: 'functest-kubernetes-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - 'functest-kubernetes-verify-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - shell: | - #!/bin/bash - # we do nothing here as the main stuff will be done - # in phase jobs - echo "Triggering phase jobs!" - - multijob: - name: 'functest-kubernetes-build-and-unittest' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-verify-unit-tests-and-docs-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - - name: 'functest-kubernetes-verify-build-x86_64-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - ARCH=x86_64 - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - - name: 'functest-kubernetes-verify-build-aarch64-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - ARCH=aarch64 - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - -- job-template: - name: 'functest-kubernetes-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 30 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - scm: - - git-scm-gerrit - - builders: - - 'functest-kubernetes-verify-{phase}-builders-macro' - - publishers: - - 'functest-kubernetes-verify-{phase}-publishers-macro' - -- job-template: - name: 'functest-kubernetes-docs-upload-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - triggers: - - 'functest-kubernetes-docs-upload-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - functest-kubernetes-upload-doc-artifact - -################################ -# job triggers -################################ -- trigger: - name: 'functest-kubernetes-verify-triggers-macro' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - -- trigger: - name: 'functest-kubernetes-docs-upload-triggers-macro' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' -################################ -# job builders -################################ - -- builder: - name: 'functest-kubernetes-verify-unit-tests-and-docs-builders-macro' - builders: - - shell: | - cd $WORKSPACE && tox - -- builder: - name: 'functest-kubernetes-verify-build-x86_64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-kubernetes-verify-build-aarch64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-kubernetes-upload-doc-artifact' - builders: - - shell: | - cd $WORKSPACE && tox -edocs - wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" -################################ -# job publishers -################################ -- publisher: - name: 'functest-kubernetes-verify-unit-tests-and-docs-publishers-macro' - publishers: - - junit: - results: nosetests.xml - - cobertura: - report-file: "coverage.xml" - only-stable: "true" - health-auto-update: "true" - stability-auto-update: "true" - zoom-coverage-chart: "true" - targets: - - files: - healthy: 10 - unhealthy: 20 - failing: 30 - - method: - healthy: 50 - unhealthy: 40 - failing: 30 - - email-jenkins-admins-on-failure - -- publisher: - name: 'functest-kubernetes-verify-build-x86_64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure - -- publisher: - name: 'functest-kubernetes-verify-build-aarch64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-project-jobs.yaml b/jjb/functest/functest-project-jobs.yaml new file mode 100644 index 000000000..9a123053f --- /dev/null +++ b/jjb/functest/functest-project-jobs.yaml @@ -0,0 +1,257 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: functest-project-jobs + + project: 'functest' + + jobs: + - 'functest-verify-{stream}' + - 'functest-verify-{phase}-{stream}' + - 'functest-docs-upload-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + phase: + - 'unit-tests-and-docs': + slave-label: 'opnfv-build-ubuntu' + - 'build-x86_64': + slave-label: 'opnfv-build-ubuntu' + - 'build-aarch64': + slave-label: 'opnfv-build-ubuntu-arm' + +- job-template: + name: 'functest-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - 'functest-verify-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - shell: | + #!/bin/bash + # we do nothing here as the main stuff will be done + # in phase jobs + echo "Triggering phase jobs!" + - multijob: + name: 'functest-build-and-unittest' + execution-type: PARALLEL + projects: + - name: 'functest-verify-unit-tests-and-docs-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'functest-verify-build-x86_64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=x86_64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'functest-verify-build-aarch64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=aarch64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + +- job-template: + name: 'functest-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'functest-verify-{phase}-builders-macro' + + publishers: + - 'functest-verify-{phase}-publishers-macro' + +- job-template: + name: 'functest-docs-upload-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm + + triggers: + - 'functest-docs-upload-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - functest-upload-doc-artifact + +################################ +# job triggers +################################ +- trigger: + name: 'functest-verify-triggers-macro' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + +- trigger: + name: 'functest-docs-upload-triggers-macro' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' +################################ +# job builders +################################ + +- builder: + name: 'functest-verify-unit-tests-and-docs-builders-macro' + builders: + - shell: | + cd $WORKSPACE && tox + +- builder: + name: 'functest-verify-build-x86_64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-verify-build-aarch64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-upload-doc-artifact' + builders: + - shell: | + cd $WORKSPACE && tox -edocs + wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/build" "docs" +################################ +# job publishers +################################ +- publisher: + name: 'functest-verify-unit-tests-and-docs-publishers-macro' + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "true" + stability-auto-update: "true" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 10 + unhealthy: 20 + failing: 30 + - method: + healthy: 50 + unhealthy: 40 + failing: 30 + - email-jenkins-admins-on-failure + +- publisher: + name: 'functest-verify-build-x86_64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure + +- publisher: + name: 'functest-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml deleted file mode 100644 index 9a123053f..000000000 --- a/jjb/functest/functest-project-jobs.yml +++ /dev/null @@ -1,257 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: functest-project-jobs - - project: 'functest' - - jobs: - - 'functest-verify-{stream}' - - 'functest-verify-{phase}-{stream}' - - 'functest-docs-upload-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - phase: - - 'unit-tests-and-docs': - slave-label: 'opnfv-build-ubuntu' - - 'build-x86_64': - slave-label: 'opnfv-build-ubuntu' - - 'build-aarch64': - slave-label: 'opnfv-build-ubuntu-arm' - -- job-template: - name: 'functest-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - 'functest-verify-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - shell: | - #!/bin/bash - # we do nothing here as the main stuff will be done - # in phase jobs - echo "Triggering phase jobs!" - - multijob: - name: 'functest-build-and-unittest' - execution-type: PARALLEL - projects: - - name: 'functest-verify-unit-tests-and-docs-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - - name: 'functest-verify-build-x86_64-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - ARCH=x86_64 - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - - name: 'functest-verify-build-aarch64-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - ARCH=aarch64 - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - -- job-template: - name: 'functest-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 30 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - scm: - - git-scm-gerrit - - builders: - - 'functest-verify-{phase}-builders-macro' - - publishers: - - 'functest-verify-{phase}-publishers-macro' - -- job-template: - name: 'functest-docs-upload-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - triggers: - - 'functest-docs-upload-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - functest-upload-doc-artifact - -################################ -# job triggers -################################ -- trigger: - name: 'functest-verify-triggers-macro' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - -- trigger: - name: 'functest-docs-upload-triggers-macro' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' -################################ -# job builders -################################ - -- builder: - name: 'functest-verify-unit-tests-and-docs-builders-macro' - builders: - - shell: | - cd $WORKSPACE && tox - -- builder: - name: 'functest-verify-build-x86_64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-verify-build-aarch64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-upload-doc-artifact' - builders: - - shell: | - cd $WORKSPACE && tox -edocs - wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/build" "docs" -################################ -# job publishers -################################ -- publisher: - name: 'functest-verify-unit-tests-and-docs-publishers-macro' - publishers: - - junit: - results: nosetests.xml - - cobertura: - report-file: "coverage.xml" - only-stable: "true" - health-auto-update: "true" - stability-auto-update: "true" - zoom-coverage-chart: "true" - targets: - - files: - healthy: 10 - unhealthy: 20 - failing: 30 - - method: - healthy: 50 - unhealthy: 40 - failing: 30 - - email-jenkins-admins-on-failure - -- publisher: - name: 'functest-verify-build-x86_64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure - -- publisher: - name: 'functest-verify-build-aarch64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-weekly-jobs.yaml b/jjb/functest/functest-weekly-jobs.yaml new file mode 100644 index 000000000..c88fa0050 --- /dev/null +++ b/jjb/functest/functest-weekly-jobs.yaml @@ -0,0 +1,128 @@ +--- +################################### +# job configuration for functest +################################### +- project: + name: functest-weekly + + project: functest + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + disabled: false + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + docker-tag: '{stream}' + disabled: false + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # Installers using labels + # CI PODs + # This section should only contain the installers + # that have been switched using labels for slaves + # ------------------------------- + pod: + # fuel CI PODs + - baremetal: + slave-label: fuel-baremetal + installer: fuel + <<: *master + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *master + - baremetal: + slave-label: fuel-baremetal + installer: fuel + <<: *fraser + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *fraser + # ------------------------------- + jobs: + - 'functest-{installer}-{pod}-weekly-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'functest-{installer}-{pod}-weekly-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: '400' + abort: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + - string: + name: FUNCTEST_SUITE_NAME + default: 'weekly' + description: "Weekly suite name to run" + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + - string: + name: CLEAN_DOCKER_IMAGES + default: 'false' + description: 'Remove downloaded docker images (opnfv/functest*:*)' + - functest-parameter: + gs-pathname: '{gs-pathname}' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'functest-weekly-builder' +######################## +# builder macros +######################## +- builder: + name: functest-weekly-builder + builders: + - shell: + !include-raw: ./functest-cleanup.sh + # yamllint disable rule:indentation + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + # yamllint enable rule:indentation + - shell: + !include-raw: ../../utils/push-test-logs.sh + - shell: + !include-raw: ./functest-exit.sh diff --git a/jjb/functest/functest-weekly-jobs.yml b/jjb/functest/functest-weekly-jobs.yml deleted file mode 100644 index c88fa0050..000000000 --- a/jjb/functest/functest-weekly-jobs.yml +++ /dev/null @@ -1,128 +0,0 @@ ---- -################################### -# job configuration for functest -################################### -- project: - name: functest-weekly - - project: functest - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' - disabled: false - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - docker-tag: '{stream}' - disabled: false - # ------------------------------- - # POD, INSTALLER, AND BRANCH MAPPING - # ------------------------------- - # Installers using labels - # CI PODs - # This section should only contain the installers - # that have been switched using labels for slaves - # ------------------------------- - pod: - # fuel CI PODs - - baremetal: - slave-label: fuel-baremetal - installer: fuel - <<: *master - - virtual: - slave-label: fuel-virtual - installer: fuel - <<: *master - - baremetal: - slave-label: fuel-baremetal - installer: fuel - <<: *fraser - - virtual: - slave-label: fuel-virtual - installer: fuel - <<: *fraser - # ------------------------------- - jobs: - - 'functest-{installer}-{pod}-weekly-{stream}' - -################################ -# job template -################################ -- job-template: - name: 'functest-{installer}-{pod}-weekly-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - wrappers: - - build-name: - name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: '400' - abort: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults' - - string: - name: FUNCTEST_SUITE_NAME - default: 'weekly' - description: "Weekly suite name to run" - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: 'Tag to pull docker image' - - string: - name: CLEAN_DOCKER_IMAGES - default: 'false' - description: 'Remove downloaded docker images (opnfv/functest*:*)' - - functest-parameter: - gs-pathname: '{gs-pathname}' - - scm: - - git-scm - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 'functest-weekly-builder' -######################## -# builder macros -######################## -- builder: - name: functest-weekly-builder - builders: - - shell: - !include-raw: ./functest-cleanup.sh - # yamllint disable rule:indentation - - shell: - !include-raw: - - ./functest-env-presetup.sh - - ../../utils/fetch_os_creds.sh - - ./functest-alpine.sh - # yamllint enable rule:indentation - - shell: - !include-raw: ../../utils/push-test-logs.sh - - shell: - !include-raw: ./functest-exit.sh diff --git a/jjb/functest/xtesting-docker.yaml b/jjb/functest/xtesting-docker.yaml new file mode 100644 index 000000000..251c3954e --- /dev/null +++ b/jjb/functest/xtesting-docker.yaml @@ -0,0 +1,224 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: xtesting-docker + + project: functest-xtesting + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "xtesting-docker-{stream}" + - "xtesting-docker-build-{arch_tag}-{stream}" + - "xtesting-docker-manifest-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'xtesting-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - xtesting-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build xtesting images' + execution-type: PARALLEL + projects: + - name: 'xtesting-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'xtesting-docker-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish xtesting manifests' + execution-type: PARALLEL + projects: + - name: 'xtesting-docker-manifest-{stream}' + <<: *manifest-job-settings + + publishers: + - 'xtesting-amd64-recipients' + - 'xtesting-arm64-recipients' + +- job-template: + name: 'xtesting-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - xtesting-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + sudo arch={arch_tag} bash ./build.sh + exit $? + +- job-template: + name: 'xtesting-docker-manifest-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu' + description: 'Slave label on Jenkins' + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + + + disabled: '{obj:disabled}' + + builders: + - shell: | + #!/bin/bash -ex + case "{stream}" in + "master") + tag="latest" ;; + *) + tag="{stream}" ;; + esac + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template $REPO/xtesting:ARCH-$tag \ + --target $REPO/xtesting:$tag + exit $? + +- parameter: + name: xtesting-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - string: + name: DOCKERFILE + default: "Dockerfile" + description: "Dockerfile to use for creating the image." + - string: + name: ARCH_TAG + default: "{arch_tag}" + description: "If set, this value will be added to the docker image tag as a prefix" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + +# publisher macros +- publisher: + name: 'xtesting-arm64-recipients' + publishers: + - email: + recipients: > + cristina.pauna@enea.com + alexandru.avadanii@enea.com + delia.popescu@enea.com + +- publisher: + name: 'xtesting-amd64-recipients' + publishers: + - email: + recipients: > + jalausuch@suse.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + juha.kosonen@nokia.com wangwulin@huawei.com + valentin.boucher@kontron.com diff --git a/jjb/functest/xtesting-docker.yml b/jjb/functest/xtesting-docker.yml deleted file mode 100644 index 251c3954e..000000000 --- a/jjb/functest/xtesting-docker.yml +++ /dev/null @@ -1,224 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: xtesting-docker - - project: functest-xtesting - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: - branch: 'stable/{stream}' - disabled: false - - arch_tag: - - 'amd64': - slave_label: 'opnfv-build-ubuntu' - - 'arm64': - slave_label: 'opnfv-build-ubuntu-arm' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - manifest-job-settings: &manifest-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "xtesting-docker-{stream}" - - "xtesting-docker-build-{arch_tag}-{stream}" - - "xtesting-docker-manifest-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'xtesting-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - xtesting-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - builders: - - multijob: - name: 'build xtesting images' - execution-type: PARALLEL - projects: - - name: 'xtesting-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'xtesting-docker-build-arm64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish xtesting manifests' - execution-type: PARALLEL - projects: - - name: 'xtesting-docker-manifest-{stream}' - <<: *manifest-job-settings - - publishers: - - 'xtesting-amd64-recipients' - - 'xtesting-arm64-recipients' - -- job-template: - name: 'xtesting-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - xtesting-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - scm: - - git-scm - builders: - - shell: | - #!/bin/bash -ex - sudo arch={arch_tag} bash ./build.sh - exit $? - -- job-template: - name: 'xtesting-docker-manifest-{stream}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: 'opnfv-build-ubuntu' - description: 'Slave label on Jenkins' - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - - - disabled: '{obj:disabled}' - - builders: - - shell: | - #!/bin/bash -ex - case "{stream}" in - "master") - tag="latest" ;; - *) - tag="{stream}" ;; - esac - sudo manifest-tool push from-args \ - --platforms linux/amd64,linux/arm64 \ - --template $REPO/xtesting:ARCH-$tag \ - --target $REPO/xtesting:$tag - exit $? - -- parameter: - name: xtesting-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - string: - name: DOCKERFILE - default: "Dockerfile" - description: "Dockerfile to use for creating the image." - - string: - name: ARCH_TAG - default: "{arch_tag}" - description: "If set, this value will be added to the docker image tag as a prefix" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - -# publisher macros -- publisher: - name: 'xtesting-arm64-recipients' - publishers: - - email: - recipients: > - cristina.pauna@enea.com - alexandru.avadanii@enea.com - delia.popescu@enea.com - -- publisher: - name: 'xtesting-amd64-recipients' - publishers: - - email: - recipients: > - jalausuch@suse.com morgan.richomme@orange.com - cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - juha.kosonen@nokia.com wangwulin@huawei.com - valentin.boucher@kontron.com diff --git a/jjb/functest/xtesting-project-jobs.yaml b/jjb/functest/xtesting-project-jobs.yaml new file mode 100644 index 000000000..e109387c6 --- /dev/null +++ b/jjb/functest/xtesting-project-jobs.yaml @@ -0,0 +1,257 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: xtesting-project-jobs + + project: 'functest-xtesting' + + jobs: + - 'xtesting-verify-{stream}' + - 'xtesting-verify-{phase}-{stream}' + - 'xtesting-docs-upload-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + phase: + - 'unit-tests-and-docs': + slave-label: 'opnfv-build-ubuntu' + - 'build-x86_64': + slave-label: 'opnfv-build-ubuntu' + - 'build-aarch64': + slave-label: 'opnfv-build-ubuntu-arm' + +- job-template: + name: 'xtesting-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - 'xtesting-verify-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - shell: | + #!/bin/bash + # we do nothing here as the main stuff will be done + # in phase jobs + echo "Triggering phase jobs!" + - multijob: + name: 'xtesting-build-and-unittest' + execution-type: PARALLEL + projects: + - name: 'xtesting-verify-unit-tests-and-docs-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'xtesting-verify-build-x86_64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=x86_64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + - name: 'xtesting-verify-build-aarch64-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + ARCH=aarch64 + git-revision: true + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: false + +- job-template: + name: 'xtesting-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'xtesting-verify-{phase}-builders-macro' + + publishers: + - 'xtesting-verify-{phase}-publishers-macro' + +- job-template: + name: 'xtesting-docs-upload-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm + + triggers: + - 'xtesting-docs-upload-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - xtesting-upload-doc-artifact + +################################ +# job triggers +################################ +- trigger: + name: 'xtesting-verify-triggers-macro' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + +- trigger: + name: 'xtesting-docs-upload-triggers-macro' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' +################################ +# job builders +################################ + +- builder: + name: 'xtesting-verify-unit-tests-and-docs-builders-macro' + builders: + - shell: | + cd $WORKSPACE && tox + +- builder: + name: 'xtesting-verify-build-x86_64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'xtesting-verify-build-aarch64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'xtesting-upload-doc-artifact' + builders: + - shell: | + cd $WORKSPACE && tox -edocs + wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" +################################ +# job publishers +################################ +- publisher: + name: 'xtesting-verify-unit-tests-and-docs-publishers-macro' + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "true" + stability-auto-update: "true" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 10 + unhealthy: 20 + failing: 30 + - method: + healthy: 50 + unhealthy: 40 + failing: 30 + - email-jenkins-admins-on-failure + +- publisher: + name: 'xtesting-verify-build-x86_64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure + +- publisher: + name: 'xtesting-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/functest/xtesting-project-jobs.yml b/jjb/functest/xtesting-project-jobs.yml deleted file mode 100644 index e109387c6..000000000 --- a/jjb/functest/xtesting-project-jobs.yml +++ /dev/null @@ -1,257 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: xtesting-project-jobs - - project: 'functest-xtesting' - - jobs: - - 'xtesting-verify-{stream}' - - 'xtesting-verify-{phase}-{stream}' - - 'xtesting-docs-upload-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - phase: - - 'unit-tests-and-docs': - slave-label: 'opnfv-build-ubuntu' - - 'build-x86_64': - slave-label: 'opnfv-build-ubuntu' - - 'build-aarch64': - slave-label: 'opnfv-build-ubuntu-arm' - -- job-template: - name: 'xtesting-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - 'xtesting-verify-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - shell: | - #!/bin/bash - # we do nothing here as the main stuff will be done - # in phase jobs - echo "Triggering phase jobs!" - - multijob: - name: 'xtesting-build-and-unittest' - execution-type: PARALLEL - projects: - - name: 'xtesting-verify-unit-tests-and-docs-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - - name: 'xtesting-verify-build-x86_64-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - ARCH=x86_64 - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - - name: 'xtesting-verify-build-aarch64-{stream}' - current-parameters: false - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - ARCH=aarch64 - git-revision: true - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: false - -- job-template: - name: 'xtesting-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 30 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - scm: - - git-scm-gerrit - - builders: - - 'xtesting-verify-{phase}-builders-macro' - - publishers: - - 'xtesting-verify-{phase}-publishers-macro' - -- job-template: - name: 'xtesting-docs-upload-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - triggers: - - 'xtesting-docs-upload-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - xtesting-upload-doc-artifact - -################################ -# job triggers -################################ -- trigger: - name: 'xtesting-verify-triggers-macro' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - -- trigger: - name: 'xtesting-docs-upload-triggers-macro' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' -################################ -# job builders -################################ - -- builder: - name: 'xtesting-verify-unit-tests-and-docs-builders-macro' - builders: - - shell: | - cd $WORKSPACE && tox - -- builder: - name: 'xtesting-verify-build-x86_64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'xtesting-verify-build-aarch64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'xtesting-upload-doc-artifact' - builders: - - shell: | - cd $WORKSPACE && tox -edocs - wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" -################################ -# job publishers -################################ -- publisher: - name: 'xtesting-verify-unit-tests-and-docs-publishers-macro' - publishers: - - junit: - results: nosetests.xml - - cobertura: - report-file: "coverage.xml" - only-stable: "true" - health-auto-update: "true" - stability-auto-update: "true" - zoom-coverage-chart: "true" - targets: - - files: - healthy: 10 - unhealthy: 20 - failing: 30 - - method: - healthy: 50 - unhealthy: 40 - failing: 30 - - email-jenkins-admins-on-failure - -- publisher: - name: 'xtesting-verify-build-x86_64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure - -- publisher: - name: 'xtesting-verify-build-aarch64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure -- cgit