summaryrefslogtreecommitdiffstats
path: root/jjb/bottlenecks/bottlenecks-project-jobs.yml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/bottlenecks/bottlenecks-project-jobs.yml')
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yml187
1 files changed, 187 insertions, 0 deletions
diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml
new file mode 100644
index 000000000..7dbaeae6b
--- /dev/null
+++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml
@@ -0,0 +1,187 @@
+###################################################
+# 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}'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ gs-packagepath: '/{stream}/{suite}'
+
+ suite:
+ - 'rubbos'
+ - 'vstf'
+
+################################
+# job templates
+################################
+
+- job-template:
+ name: 'bottlenecks-verify-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ triggers:
+ - gerrit:
+ 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:
+ - shell: |
+ echo "bottlenecks: verify job"
+ #TO DO: this should be changed when the unittest ready
+
+- job-template:
+ name: 'bottlenecks-merge-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ triggers:
+ - gerrit:
+ 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:
+ - shell: |
+ echo "bottlenecks: merge"
+
+- job-template:
+ name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 'ericsson-build-defaults'
+ - bottlenecks-parameter:
+ gs-packagepath: '{gs-packagepath}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - 'bottlenecks-builder-upload-artifact'
+ - 'bottlenecks-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-workspace-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: cleanup cache used for storage downloaded packages"
+
+ /bin/rm -rf $CACHE_DIR