X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=jjb%2Freleng-macros.yaml;h=c9b7a8f6e1878dc755d8ca222f27f93ff27260d3;hb=36ca9b6d0ffc58ccb9554590db1ce7f09af56653;hp=d9f268261c1bf11304d8357980dcb2b685867198;hpb=d21dd883e902440058b726c35120452836987a0d;p=releng%2Fbuilder.git diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index d9f268261..c9b7a8f6e 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -1,16 +1,16 @@ # OLD Releng macros - parameter: - name: project-parameter + name: opendaylight-infra-parameters parameters: - string: name: PROJECT default: '{project}' - description: "JJB configured PROJECT parameter to identify an ODL Gerrit project" - -- parameter: - name: gerrit-parameters - parameters: + description: 'Parameter to identify an ODL Gerrit project' + - string: + name: ARCHIVE_ARTIFACTS + default: '{artifacts} **/target/surefire-reports/*-output.txt' + description: 'Space separated glob patterns for artifacts to archive into logs.opendaylight.org' - string: name: GERRIT_PROJECT default: '{project}' @@ -72,11 +72,19 @@ default: '{stage-id}' description: 'Nexus staging profile id' +- parameter: + name: maven-exec + parameters: + - string: + name: MVN + default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{maven-version}/bin/mvn' + description: 'Maven selector to be used by shell scripts' + - scm: name: git-scm scm: - git: - credentials-id: '{credentials-id}' + credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' refspec: '' branches: @@ -88,7 +96,7 @@ name: git-scm-with-submodules scm: - git: - credentials-id: '{credentials-id}' + credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' refspec: '' branches: @@ -102,7 +110,7 @@ name: gerrit-trigger-scm scm: - git: - credentials-id: '{credentials-id}' + credentials-id: 'opendaylight-jenkins-ssh' url: '$GIT_BASE' refspec: '{refspec}' branches: @@ -118,33 +126,12 @@ timeout: 360 fail: true +# Used only by opflex-verify-{stream} and {project-name}-verify-{stream}-{maven}-{jdks} - trigger: name: gerrit-trigger-patch-submitted triggers: - gerrit: - server-name: 'OpenDaylight' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{name}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - -- trigger: - name: gerrit-trigger-relevant-patch-submitted - triggers: - - gerrit: - server-name: 'OpenDaylight' + server-name: '{server-name}' trigger-on: - patchset-created-event: exclude-drafts: 'true' @@ -166,7 +153,7 @@ name: gerrit-trigger-patch-merged triggers: - gerrit: - server-name: 'OpenDaylight' + server-name: '{server-name}' trigger-on: - change-merged-event - comment-added-contains-event: @@ -177,12 +164,30 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + # Force Jenkins always vote the values it should already have voted + # during the prior verify phase + override-votes: true + gerrit-build-started-verified-value: 1 + gerrit-build-successful-verified-value: 1 + gerrit-build-failed-verified-value: 1 + gerrit-build-unstable-verified-value: 1 + gerrit-build-notbuilt-verified-value: 1 + gerrit-build-started-codereview-value: 0 + gerrit-build-successful-codereview-value: 0 + gerrit-build-failed-codereview-value: 0 + gerrit-build-unstable-codereview-value: 0 + gerrit-build-notbuilt-codereview-value: 0 - trigger: name: gerrit-trigger-patch-sonar triggers: - gerrit: - server-name: 'OpenDaylight' + server-name: '{server-name}' trigger-on: - comment-added-contains-event: comment-contains-value: 'run-sonar' @@ -198,22 +203,6 @@ unstable: true notbuilt: true -- trigger: - name: gerrit-trigger-patch-site-merged - triggers: - - gerrit: - server-name: 'OpenDaylight' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'republish' - projects: - - project-compare-type: 'ANT' - project-pattern: '{name}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - - publisher: name: archive-artifacts publishers: @@ -227,8 +216,8 @@ name: email-notification publishers: - email-ext: - recipients: 'jenkins@lists.opendaylight.org' - reply-to: + recipients: '{email-recipients}' + reply-to: '' content-type: default subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!' body: | @@ -258,10 +247,15 @@ unhealthy: 40 - publisher: - name: archive-build + name: opendaylight-infra-shiplogs # To archive things the job will need to create a "archives" directory in # the workspace and this macro will handle copying the contents of the # archives directory. + # + # Uses the build parameter ARCHIVE_ARTIFACTS if not empty to find files + # to archive. You can pass globstar patterns for example "**/*.xml **/*.log" + # as the archive pattern. This is a space separated list of files to archive. + # # Also ensure that the workspace is cleaned up at the end of the build. publishers: - postbuildscript: @@ -283,6 +277,10 @@ script-only-if-failed: False mark-unstable-if-failed: True - workspace-cleanup: + exclude: + # Do not clean up *.jenkins-trigger files for jobs that use a + # properties file as input for triggering another build. + - '**/*.jenkins-trigger' fail-build: false - builder: @@ -366,3 +364,48 @@ name: releng-stage-release builders: - shell: !include-raw: include-raw-stage-release.sh + +- wrapper: + # This wrapper is required for all jobs as it configures the wrappers + # needed by OpenDaylight infra. + name: opendaylight-infra-wrappers + wrappers: + - timeout: + type: absolute + timeout: '{build-timeout}' + timeout-var: 'BUILD_TIMEOUT' + fail: true + - timestamps + - ssh-agent-credentials: + users: + - 'opendaylight-jenkins-ssh' + - jclouds: + single-use: True + - openstack: + single-use: True + +- builder: + name: packer-validate + builders: + - config-file-provider: + files: + - file-id: 'packer-cloud-env' + variable: 'CLOUDENV' + - shell: | + cd packer + export PACKER_LOG="yes" && \ + export PACKER_LOG_PATH="packer-validate.log" && \ + packer.io validate -var-file=$CLOUDENV \ + -var-file=../packer/vars/{platform}.json \ + ../packer/templates/{template}.json + +- builder: + name: packer-build + builders: + - shell: | + cd packer + export PACKER_LOG="yes" && \ + export PACKER_LOG_PATH="packer-build.log" && \ + packer.io build -var-file=$CLOUDENV \ + -var-file=../packer/vars/{platform}.json \ + ../packer/templates/{template}.json