]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
create a ceph-build PR job 25/head
authorAlfredo Deza <adeza@redhat.com>
Mon, 17 Nov 2014 21:43:24 +0000 (16:43 -0500)
committerAlfredo Deza <adeza@redhat.com>
Mon, 17 Nov 2014 21:48:47 +0000 (16:48 -0500)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
ceph-build-pull-requests/build/build [new file with mode: 0644]
ceph-build-pull-requests/config/definitions/ceph-build-pull-requests.yml [new file with mode: 0644]

diff --git a/ceph-build-pull-requests/build/build b/ceph-build-pull-requests/build/build
new file mode 100644 (file)
index 0000000..214a7b9
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -ex
+
+# Create the virtualenv
+virtualenv venv
+. venv/bin/activate
+
+# Define and ensure the PIP cache
+PIP_SDIST_INDEX="$HOME/.cache/pip"
+mkdir -p $PIP_SDIST_INDEX
+
+# Install the package by trying with the cache first, otherwise doing a download only, and then
+# trying to install from the cache again.
+if ! venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index jenkins-job-builder; then
+    venv/bin/pip install --download-directory="$PIP_SDIST_INDEX" jenkins-job-builder
+    venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index jenkins-job-builder
+fi
+
+
+# Test every definition if available in the current repository and update the jobs
+# if they do define one (they should always define their definitions)
+for dir in `find . -maxdepth 1 -path ./.git -prune -o -type d -print`; do
+    definitions_dir="$dir/config/definitions"
+    if [ -d "$definitions_dir" ]; then
+        echo "found definitions directory: $definitions_dir"
+
+        # Test the definitions
+        venv/bin/jenkins-jobs test $definitions_dir -o /tmp/output
+    fi
+done
diff --git a/ceph-build-pull-requests/config/definitions/ceph-build-pull-requests.yml b/ceph-build-pull-requests/config/definitions/ceph-build-pull-requests.yml
new file mode 100644 (file)
index 0000000..40fad55
--- /dev/null
@@ -0,0 +1,59 @@
+- job:
+    name: ceph-build-pull-requests
+    node: gitbuilder-cdep-deb-cloud-precise-amd64-basic
+    project-type: freestyle
+    defaults: global
+    disabled: false
+    display-name: 'ceph-build: Pull Requests'
+    concurrent: false
+    quiet-period: 5
+    block-downstream: false
+    block-upstream: false
+    retry-count: 3
+    properties:
+      - github:
+          url: https://github.com/ceph/ceph-build
+    logrotate:
+      daysToKeep: 15
+      numToKeep: 30
+      artifactDaysToKeep: -1
+      artifactNumToKeep: -1
+
+    parameters:
+      - string:
+          name: sha1
+          description: "A pull request ID, like 'origin/pr/72/head'"
+
+    triggers:
+      - pollscm: "*/1 * * * *"
+      - github-pull-request:
+          cron: '* * * * *'
+          admin-list:
+            - alfredodeza
+            - ktdreyer
+          org-list:
+            - ceph
+          trigger-phrase: ''
+          only-trigger-phrase: false
+          github-hooks: true
+          permit-all: false
+          auto-close-on-fail: false
+
+    scm:
+      - git:
+          url: https://github.com/ceph/ceph-build.git
+          branches:
+            - ${sha1}
+          refspec: +refs/pull/*:refs/remotes/origin/pr/*
+          browser: githubweb
+          browser-url: https://github.com/ceph/ceph-build
+          timeout: 20
+          skip-tag: true
+          wipe-workspace: false
+
+    builders:
+      - shell:
+          !include-raw ../../build/build
+
+    publishers:
+      - github-notifier