summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
authorVanessa Rene Valderrama <vvalderrama@linuxfoundation.org>2017-04-17 15:01:36 -0500
committerVanessa Rene Valderrama <vvalderrama@linuxfoundation.org>2017-08-10 15:16:01 -0500
commit9cf8cd62b4cec7501f2ae11c302883e90cd654fa (patch)
tree696ec4759b24fbae8ec036f7091d28a59aedb2ce /jjb
parent0f7d85ebf0eba038a0a3c4676e4eb164b683ed2d (diff)
Configure Jenkins packagecloud promote job
Add VPP job to promote artifacts from packagecloud.io staging repository to packagecloud.io release repository Add packagecloud_api Jenkins managed file Add packagecloud_promote script Change-Id: If1ef1162f82201ea41b685eb45d0f09c0c7d1ce9 Signed-off-by: Vanessa Rene Valderrama <vvalderrama@linuxfoundation.org>
Diffstat (limited to 'jjb')
-rw-r--r--jjb/scripts/packagecloud_promote.sh15
-rw-r--r--jjb/vpp/vpp.yaml70
2 files changed, 85 insertions, 0 deletions
diff --git a/jjb/scripts/packagecloud_promote.sh b/jjb/scripts/packagecloud_promote.sh
new file mode 100644
index 000000000..8523e6cf0
--- /dev/null
+++ b/jjb/scripts/packagecloud_promote.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+stage_repo="https://packagecloud.io/api/v1/repos/fdio/staging"
+curl --netrc-file /home/jenkins/packagecloud_api $stage_repo/packages.json | \
+ python -mjson.tool >filenames.txt
+grep 'promote_url' filenames.txt > packages.txt
+sed -i 's|[",:]||g' packages.txt
+sed -i 's/promote_url//g' packages.txt
+
+while read packages; do
+echo $packages
+curl --netrc-file /home/jenkins/packagecloud_api -v -o -X POST -F \
+ destination=fdio/release/ https://packagecloud.io$packages
+
+done <packages.txt
diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml
index 6b9f2d6de..acf488bb1 100644
--- a/jjb/vpp/vpp.yaml
+++ b/jjb/vpp/vpp.yaml
@@ -9,6 +9,7 @@
- 'vpp-make-test-docs-merge-{stream}'
- 'vpp-make-test-docs-verify-{stream}'
- 'vpp-test-packagecloud-{stream}-{os}'
+ - 'vpp-promote-{stream}-{os}'
project: 'vpp'
os:
@@ -241,6 +242,10 @@
files:
- file-id: '.packagecloud'
target: '/home/jenkins'
+ - config-file-provider:
+ files:
+ - file-id: 'packagecloud_api'
+ target: '/home/jenkins'
- maven-target:
maven-version: 'mvn33-new'
goals: '--version'
@@ -777,3 +782,68 @@
default-excludes: false
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'
+
+- job-template:
+ name: 'vpp-promote-{stream}-{os}'
+
+ project-type: freestyle
+ node: '{os}-basebuild-4c-4g'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - os-parameter:
+ os: '{os}'
+ - stream-parameter:
+ stream: '{stream}'
+ - repo-name-parameter:
+ repo-name: '{repo-stream-part}.{repo-os-part}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: 'jenkins-gerrit-credentials'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - fdio-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-manually-triggered:
+ name: '{project}'
+ branch: '{branch}'
+ comment-trigger-value: 'test-pkgcloud'
+
+ builders:
+ - config-file-provider:
+ files:
+ - file-id: '.packagecloud'
+ target: '/home/jenkins'
+ - config-file-provider:
+ files:
+ - file-id: 'packagecloud_api'
+ target: '/home/jenkins'
+ - shell:
+ !include-raw-escape: include-raw-vpp-checkstyle.sh
+ - shell:
+ !include-raw-escape: include-raw-vpp-test-checkstyle.sh
+ - shell:
+ !include-raw-escape:
+ - ../scripts/setup_vpp_dpdk_dev_env.sh
+ - include-raw-vpp-build.sh
+ - shell:
+ !include-raw-escape:
+ - ../scripts/packagecloud_promote.sh
+
+ publishers:
+ - fdio-infra-shiplogs:
+ maven-version: 'mvn33-new'