summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
authorTrevor Bramwell <tbramwell@linuxfoundation.org>2016-03-04 11:04:55 -0800
committerTrevor Bramwell <tbramwell@linuxfoundation.org>2016-03-09 16:16:09 -0800
commit4ff7399fd66525743b3cfd7e3e46d8efc13f0ed5 (patch)
treee0166c7adf229d0d1a880ed6c42afd1d3b9154fd /jjb
parentb012fc984e8464d85adec06c958d794fa423dbf0 (diff)
Create Releng Job for Generating Artifact JSON API
'opnfv.org/artifacts' uses the index.json file generated by the opnfv-artifacts.py script to list artifacts generated by other OPNFV builds. This adds a Jenkins 'cronjob' for generating and uploading a JSON file to Google Storage containing links to the artifacts and their metadata. Change-Id: I3c40391b40e1e536d4c27e27d5621bf4bc4c00a3 Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
Diffstat (limited to 'jjb')
-rw-r--r--jjb/releng-jobs.yaml17
-rw-r--r--jjb/releng-macros.yaml22
2 files changed, 39 insertions, 0 deletions
diff --git a/jjb/releng-jobs.yaml b/jjb/releng-jobs.yaml
index 0b36f0775..655660bb9 100644
--- a/jjb/releng-jobs.yaml
+++ b/jjb/releng-jobs.yaml
@@ -3,6 +3,7 @@
jobs:
- 'builder-verify-jjb'
- 'builder-merge'
+ - 'artifacts-api'
project: 'releng'
@@ -99,3 +100,19 @@
git pull
jenkins-jobs update --delete-old jjb/
+- job-template:
+ name: 'artifacts-api'
+
+ # Generate and upload the JSON file to used for artifacts site
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ triggers:
+ - timed: '@hourly'
+
+ builders:
+ - build-and-upload-artifacts-json-api
diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml
index b43a76d5f..625e10a4d 100644
--- a/jjb/releng-macros.yaml
+++ b/jjb/releng-macros.yaml
@@ -299,6 +299,28 @@
fi
- builder:
+ name: build-and-upload-artifacts-json-api
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ echo "Generating Artifacts API ..."
+ virtualenv $WORKSPACE/releng_artifacts
+ source $WORKSPACE/releng_artifacts/bin/activate
+
+ # install python packages
+ easy_install -U setuptools
+ pip install google-api-python-client
+
+ # generate and upload index file
+ python ./releng/utils/opnfv-artifacts.py > index.json
+ gsutil cp index.json gs://artifacts.opnfv.org/index.json
+
+ deactivate
+
+- builder:
name: upload-review-docs
builders:
- build-html-and-pdf-docs-output