summaryrefslogtreecommitdiffstats
path: root/jjb/onap-jjb
diff options
context:
space:
mode:
authorVanessa Rene Valderrama <vvalderrama@linuxfoundation.org>2018-02-27 15:10:17 -0800
committerJeremy Phelps <jphelps@linuxfoundation.org>2018-03-09 11:27:56 -0600
commit295975d522aaa584bc3dd79c043b1a6003977f22 (patch)
tree97c4d8f68ff8d4bdd476f37245c2592d18017d82 /jjb/onap-jjb
parent7c8380e89cfc00cb0002e9c08aec0f9aeaf2ea98 (diff)
Configure PyPI releases
This changes adds the following functionality for PyPI releases - macros - A PyPI server macro - scripts - A script to build artifacts - A script to publish artifacts - templates - Templates for release - jobs - Jobs for release - Nexus3 staging - Nexus3 release - PyPI index will be added at a later date Issue-ID: CIMAN-137 Change-Id: I53522ed2fa2f462afebaac94c44fa2a9979e9c2a Signed-off-by: Vanessa Rene Valderrama <vvalderrama@linuxfoundation.org> Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org> Signed-off-by: Jeremy Phelps <jphelps@linuxfoundation.org>
Diffstat (limited to 'jjb/onap-jjb')
-rw-r--r--jjb/onap-jjb/onap-pypi-template.yaml194
1 files changed, 194 insertions, 0 deletions
diff --git a/jjb/onap-jjb/onap-pypi-template.yaml b/jjb/onap-jjb/onap-pypi-template.yaml
new file mode 100644
index 000000000..bfd709905
--- /dev/null
+++ b/jjb/onap-jjb/onap-pypi-template.yaml
@@ -0,0 +1,194 @@
+---
+# Job definition Anchors
+- pypi_job_boiler_plate: &pypi_job_boiler_plate
+ name: pypi_job_boiler_plate
+
+ #####################
+ # Job Variables #
+ #####################
+
+ gerrit_merge_triggers:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: pypi-remerge$
+
+ gerrit_release_trigger:
+ - comment-added-contains-event:
+ comment-contains-value: pypi-release$
+
+ gerrit_trigger_file_paths:
+ - compare-type: ANT
+ pattern: '**'
+
+ #####################
+ # Job Configuration #
+ #####################
+
+ project-type: freestyle
+ node: '{build-node}'
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ stream: '{stream}'
+ lftools-version: '{lftools-version}'
+ - lf-infra-tox-parameters:
+ tox-dir: '{tox-dir}'
+ tox-envs: '{tox-envs}'
+
+
+ properties:
+ - lf-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ git-url: '$GIT_URL/$PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: true
+ choosing-strategy: default
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: '{build-timeout}'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ publishers:
+ - lf-infra-publish
+
+- job-template:
+ name: '{project-name}-python-staging-{stream}'
+
+ # Job template for PyPI staging jobs
+ # Daily Builds
+
+ <<: *pypi_job_boiler_plate
+
+ triggers:
+ - gerrit:
+ server-name: '{gerrit-server-name}'
+ trigger-on: '{obj:gerrit_merge_triggers}'
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+ file-paths: '{obj:gerrit_trigger_file_paths}'
+
+ builders:
+ - lf-infra-tox-install:
+ python-version: '{python-version}'
+ - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
+ - config-file-provider:
+ files:
+ - file-id: pypirc
+ target: '$HOME/.pypirc'
+ - shell:
+ !include-raw-escape: ../shell/pypi-dist-build.sh
+
+ - publish-pypi:
+ pypi-server: staging
+
+- job-template:
+ name: '{project-name}-python-release-{stream}'
+
+ # Job template for PyPI release jobs
+
+ <<: *pypi_job_boiler_plate
+
+ triggers:
+ - gerrit:
+ server-name: '{gerrit-server-name}'
+ trigger-on: '{obj:gerrit_release_trigger}'
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+ file-paths: '{obj:gerrit_trigger_file_paths}'
+
+ builders:
+ - lf-infra-tox-install:
+ python-version: '{python-version}'
+ - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
+ - config-file-provider:
+ files:
+ - file-id: pypirc
+ target: '$HOME/.pypirc'
+ - shell:
+ !include-raw-escape: ../shell/pypi-dist-build.sh
+
+ - publish-pypi:
+ pypi-server: release
+
+- job-template:
+ name: '{project-name}-{subproject}-python-staging-{stream}'
+
+ # Job template for PyPI staging jobs
+ # Daily Builds
+
+ <<: *pypi_job_boiler_plate
+
+ triggers:
+ - gerrit:
+ server-name: '{gerrit-server-name}'
+ trigger-on: '{obj:gerrit_merge_triggers}'
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+ file-paths: '{obj:gerrit_trigger_file_paths}'
+
+ builders:
+ - lf-infra-tox-install:
+ python-version: '{python-version}'
+ - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
+ - config-file-provider:
+ files:
+ - file-id: pypirc
+ target: '$HOME/.pypirc'
+ - shell:
+ !include-raw-escape: ../shell/pypi-dist-build.sh
+
+ - publish-pypi:
+ pypi-server: staging
+
+- job-template:
+ name: '{project-name}-{subproject}-python-release-{stream}'
+
+ # Job template for PyPI release jobs
+
+ <<: *pypi_job_boiler_plate
+
+ triggers:
+ - gerrit:
+ server-name: '{gerrit-server-name}'
+ trigger-on: '{obj:gerrit_release_trigger}'
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+ file-paths: '{obj:gerrit_trigger_file_paths}'
+
+ builders:
+ - lf-infra-tox-install:
+ python-version: '{python-version}'
+ - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
+ - config-file-provider:
+ files:
+ - file-id: pypirc
+ target: '$HOME/.pypirc'
+ - shell:
+ !include-raw-escape: ../shell/pypi-dist-build.sh
+
+ - publish-pypi:
+ pypi-server: release