From 295975d522aaa584bc3dd79c043b1a6003977f22 Mon Sep 17 00:00:00 2001 From: Vanessa Rene Valderrama Date: Tue, 27 Feb 2018 15:10:17 -0800 Subject: 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 Signed-off-by: Jessica Wagantall Signed-off-by: Jeremy Phelps --- jjb/onap-jjb/onap-pypi-template.yaml | 194 +++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 jjb/onap-jjb/onap-pypi-template.yaml (limited to 'jjb/onap-jjb') 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 -- cgit 1.2.3-korg