From: Bin Yang Date: Wed, 19 Feb 2020 03:43:58 +0000 (+0800) Subject: Improve jjb for pti rtp project X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=5d9c5ead12871922715ed3a1bd402437151d9b28;p=ci-management.git Improve jjb for pti rtp project Refactor merge job to offload the image building process to a new release job which will be triggered once or twice per release. This helps save resources of ci infrastructure Issue-ID: INF-15 Signed-off-by: Bin Yang Change-Id: I23ed988e06451622d9f144e5f4a1380c3eff86ee --- diff --git a/jjb/oran-jjb/oran-shell-jobs.yaml b/jjb/oran-jjb/oran-shell-jobs.yaml index 56d966d7..f4a236c9 100644 --- a/jjb/oran-jjb/oran-shell-jobs.yaml +++ b/jjb/oran-jjb/oran-shell-jobs.yaml @@ -177,3 +177,50 @@ - branch-compare-type: ANT branch-pattern: '**/{branch}' file-paths: '{obj:gerrit_trigger_file_paths}' + +# Build and publish artifact from gerrit by shell script. +# Triggered automatically by merging specific release file; +# can be run on any branch. +# +# Required parameters: +# build-node: label (flavor) of jenkins build minion +# project: git repository +# project-name: Jenkins job name prefix +# script: shell script to execute +# Optional parameters: +# branch: git branch pattern, defaults to master +# stream: friendly stream name (often same as branch), defaults to master +# gerrit_release_file_paths: Pathname pattern of the release file to trigger this job +- job-template: + name: '{project-name}-shell-release-{stream}' + id: oran-shell-release + <<: *oran_shell_common + + gerrit_release_file_paths: + - compare-type: REG_EXP + pattern: 'releases\/oran-shell-release.*\.yaml' + + scm: + - lf-infra-gerrit-scm: + jenkins-ssh-credential: '{jenkins-ssh-credential}' + git-url: '{git-url}' + refspec: '$GERRIT_REFSPEC' + branch: '$GERRIT_BRANCH' + submodule-recursive: '{submodule-recursive}' + submodule-timeout: '{submodule-timeout}' + submodule-disable: '{submodule-disable}' + choosing-strategy: default + + triggers: + - gerrit: + server-name: '{gerrit-server-name}' + trigger-on: + - change-merged-event + projects: + - project-compare-type: ANT + project-pattern: '{project}' + branches: + - branch-compare-type: ANT + branch-pattern: '**/{branch}' + file-paths: '{obj:gerrit_release_file_paths}' + diff --git a/jjb/pti-rtp/pti-rtp.yaml b/jjb/pti-rtp/pti-rtp.yaml index f4ed03ea..e19d2dd2 100644 --- a/jjb/pti-rtp/pti-rtp.yaml +++ b/jjb/pti-rtp/pti-rtp.yaml @@ -41,6 +41,17 @@ - project: <<: *pti_rtp_common name: pti-rtp-merge + # runs about 40 minutes + build-timeout: 60 + script: !include-raw-escape: + - install-yocto-prereq-centos.sh + - verify-yocto.sh + jobs: + - oran-shell-merge + +- project: + <<: *pti_rtp_common + name: pti-rtp-release-merge # demand 200GB storage build-node: centos7-docker-2c-8g-200g # runs about 18 hours @@ -50,4 +61,4 @@ - build-yocto.sh - upload-yocto.sh jobs: - - oran-shell-merge + - oran-shell-release