Merge "Create Releng Job for Generating Artifact JSON API"
[releng.git] / jjb / releng-macros.yaml
index 5d95707..625e10a 100644 (file)
             echo "###########################"
             echo
 
-            gs_base="artifacts.opnfv.org/review"
+            gs_base="artifacts.opnfv.org/$PROJECT/review"
             gs_path="$gs_base/$GERRIT_CHANGE_NUMBER"
             local_path="upload/$GERRIT_CHANGE_NUMBER"
 
 
             [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
 
+            gs_path="artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER"
+
+            if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then
+                echo
+                echo "Deleting Out-of-dated Documents..."
+                gsutil -m rm -r "gs://$gs_path"
+            fi
             gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
 
             if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then
                 gsutil -m rm -r "gs://$gs_path"
             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: