summaryrefslogtreecommitdiffstats
path: root/jjb/bottlenecks/bottlenecks-project-jobs.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/bottlenecks/bottlenecks-project-jobs.yaml')
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yaml224
1 files changed, 224 insertions, 0 deletions
diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yaml b/jjb/bottlenecks/bottlenecks-project-jobs.yaml
new file mode 100644
index 000000000..d4930d745
--- /dev/null
+++ b/jjb/bottlenecks/bottlenecks-project-jobs.yaml
@@ -0,0 +1,224 @@
+---
+###################################################
+# Non-ci jobs for Bottlenecks project
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: bottlenecks-project-jobs
+
+ project: 'bottlenecks'
+
+ jobs:
+ - 'bottlenecks-verify-{stream}'
+ - 'bottlenecks-merge-{stream}'
+ - 'bottlenecks-{suite}-upload-artifacts-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ # This is used for common project file storage
+ gs-pathname: ''
+ # This is used for different test suite dependent packages storage
+ gs-packagepath: '/{suite}'
+ disabled: false
+ - fraser: &fraser
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ gs-packagepath: '/{stream}/{suite}'
+ disabled: false
+
+ suite:
+ - 'posca_stress_traffic'
+ - 'posca_stress_ping'
+
+################################
+# job templates
+################################
+
+- job-template:
+ name: 'bottlenecks-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+
+ scm:
+ - git-scm-gerrit
+
+ 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}'
+
+ builders:
+ # - bottlenecks-hello
+ - bottlenecks-unit-tests
+
+- job-template:
+ name: 'bottlenecks-merge-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+
+ scm:
+ - git-scm
+
+ 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}'
+
+ builders:
+ - bottlenecks-hello
+ # - bottlenecks-unit-tests
+
+- job-template:
+ name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
+
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ properties:
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - bottlenecks-parameter:
+ gs-packagepath: '{gs-packagepath}'
+
+ scm:
+ - git-scm
+
+ builders:
+ - 'bottlenecks-builder-upload-artifact'
+ - 'bottlenecks-artifact-workspace-cleanup'
+
+####################
+# parameter macros
+####################
+- parameter:
+ name: bottlenecks-parameter
+ parameters:
+ - string:
+ name: CACHE_DIR
+ default: $WORKSPACE/cache{gs-packagepath}
+ description: "the cache to store packages downloaded from public IP"
+ - string:
+ name: SUITE_URL
+ default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath}
+ description: "LF artifacts url for storage of bottlenecks packages"
+ - string:
+ name: PACKAGE_URL
+ default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/
+ description: "the url where we store the packages used for bottlenecks\
+ \ rubbos"
+
+####################################
+# builders for bottlenecks project
+####################################
+- builder:
+ name: bottlenecks-builder-upload-artifact
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: upload to artifacts from the public IP"
+
+ [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR
+
+ for file in $(curl -s $PACKAGE_URL |
+ grep href |
+ sed 's/.*href="//' |
+ sed 's/".*//' |
+ grep '^[a-zA-Z].*'); do
+ curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v
+ echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL"
+ gsutil cp $CACHE_DIR/$file $SUITE_URL
+ done
+
+- builder:
+ name: bottlenecks-artifact-workspace-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: cleanup cache used for storage downloaded packages"
+
+ /bin/rm -rf $CACHE_DIR
+
+- builder:
+ name: bottlenecks-unit-tests
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ echo "Running unit tests..."
+ cd $WORKSPACE
+ virtualenv $WORKSPACE/bottlenecks_venv
+ source $WORKSPACE/bottlenecks_venv/bin/activate
+
+ # install python packages
+ easy_install -U setuptools
+ easy_install -U pip
+ pip install -r $WORKSPACE/requirements/verify.txt
+
+ # unit tests
+ /bin/bash $WORKSPACE/verify.sh
+
+ deactivate
+
+- builder:
+ name: bottlenecks-hello
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! "