X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-macros.yaml;h=92c881fb9a6e1661bf5ec330490ce8749624a4e9;hb=677dcec4b8f2bc18ed4146c80f9dec7b5de88c96;hp=2493c2b525df7410bafe60fb0407b46d366d741e;hpb=2db261701a682b0dadb6b69b7fb1981796170fac;p=ci-management.git diff --git a/jjb/global-macros.yaml b/jjb/global-macros.yaml index 2493c2b52..92c881fb9 100644 --- a/jjb/global-macros.yaml +++ b/jjb/global-macros.yaml @@ -89,6 +89,46 @@ default: '{stream}' description: "Stream job parameter to be used in shell scripts." +- parameter: + name: topo-parameter + parameters: + - string: + name: TOPO + default: '{topo}' + description: "Topology parameter" + +- parameter: + name: arch-parameter + parameters: + - string: + name: ARCH + default: '{arch}' + description: "Architecture parameter" + +- parameter: + name: gerrit-event-type-parameter + parameters: + - string: + name: GERRIT_EVENT_TYPE + default: '' + description: "GERRIT_EVENT_TYPE parameter not given by trigger" + +- parameter: + name: gerrit-event-comment-text-parameter + parameters: + - string: + name: GERRIT_EVENT_COMMENT_TEXT + default: '' + description: "GERRIT_EVENT_COMMENT_TEXT parameter not given by trigger" + +- parameter: + name: gerrit-csit-refspec-parameter + parameters: + - string: + name: CSIT_REF + default: '' + description: "GERRIT_REFSPEC parameter to override separately cloned CSIT repository, leave empty for autodetection / no override." + # FIXME: Wrap long lines. ##### SCMS - scm: @@ -115,6 +155,20 @@ skip-tag: true choosing-strategy: '{choosing-strategy}' +- scm: + name: gerrit-trigger-scm-recursive + scm: + - git: + credentials-id: '{credentials-id}' + url: '$GIT_BASE' + refspec: '{refspec}' + branches: + - 'origin/$GERRIT_BRANCH' + skip-tag: true + choosing-strategy: '{choosing-strategy}' + submodule: + recursive: '{submodule-recursive}' + - scm: name: zuul-trigger-scm scm: @@ -179,7 +233,7 @@ server-name: 'Primary' trigger-on: - patchset-created-event: - exclude-drafts: 'false' + exclude-drafts: 'true' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - draft-published-event @@ -194,6 +248,72 @@ - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' +- trigger: + name: gerrit-trigger-trivial-patch-submitted + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - patchset-created-event: + exclude-drafts: 'true' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'true' + - 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-os-trivial-patch-submitted + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'os-check' + - comment-added-contains-event: + comment-contains-value: 'os-verify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{name}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + +- trigger: + name: gerrit-trigger-trivial-patch-submitted-skip-vote + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - patchset-created-event: + exclude-drafts: 'true' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'true' + - 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}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + - trigger: name: gerrit-trigger-manually-triggered triggers: @@ -238,6 +358,34 @@ gerrit-build-unstable-codereview-value: 0 gerrit-build-notbuilt-codereview-value: 0 +- trigger: + name: gerrit-trigger-os-patch-merged + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'os-merge' + projects: + - project-compare-type: 'ANT' + project-pattern: '{name}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + # 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 + # Publishers - publisher: name: archive-artifacts @@ -253,7 +401,7 @@ publishers: - email-ext: recipients: 'nobody@projectrotterdam.info' - reply-to: + reply-to: '' content-type: default subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!' body: | @@ -321,6 +469,12 @@ - workspace-cleanup: fail-build: false +- publisher: + name: retry-build-on-builder-error + publishers: + - naginator: + max-failed-builds: 1 + ###### BUILDERS - builder: name: ci-management-check-unicode @@ -337,3 +491,60 @@ variable: 'GLOBAL_SETTINGS_FILE' - file-id: '{settings-file}' variable: 'SETTINGS_FILE' + +- property: + name: fdio-infra-properties + properties: + - build-discarder: + days-to-keep: '{build-days-to-keep}' + num-to-keep: '{build-num-to-keep}' + + +- builder: + name: packer-validate + builders: + - config-file-provider: + files: + - file-id: 'packer-cloud-env' + variable: 'CLOUDENV' + - shell: | + #!/bin/bash + cd packer + varfiles="../packer/vars/*" + templates="../packer/templates/*" + provision="../packer/provision/*.sh" + for v in $varfiles; do + [[ "${v##*/}" =~ ^(cloud-env.*)$ ]] && continue + for t in $templates; do + export PACKER_LOG="yes" && \ + export PACKER_LOG_PATH="packer-validate-${v##*/}-${t##*/}.log" && \ + packer.io validate -var-file=$CLOUDENV \ + -var-file=$v $t + if [ $? -ne 0 ]; then + break + fi + done + done + for p in $provision; do + /bin/bash -n $p > provision-validate-${p##*/}.log 2>&1 + if [ $? -ne 0 ]; then + break + fi + done + + +- builder: + name: packer-build + builders: + - config-file-provider: + files: + - file-id: 'packer-cloud-env' + variable: 'CLOUDENV' + - shell: | + #!/bin/bash + 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