X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=jjb%2Flf-macros.yaml;h=e3933930db0aefb8670b697615daf3e5a9d97804;hb=d589c771dc75206bb2b6d592435c8316cffd29fb;hp=59b249f2c4a9f2e671354f9d7c74283fa4bb5d87;hpb=b65f75f9185892ce5980ac40a8e4f0e4a332412c;p=releng%2Fglobal-jjb.git diff --git a/jjb/lf-macros.yaml b/jjb/lf-macros.yaml index 59b249f2..e3933930 100644 --- a/jjb/lf-macros.yaml +++ b/jjb/lf-macros.yaml @@ -3,6 +3,14 @@ # BUILDERS # ############ +# To take advantage of this macro, have your build write +# out the file 'gerrit_comment.txt' with information to post +# back to gerrit and include this macro in the list of builders. +- builder: + name: comment-to-gerrit + builders: + - shell: !include-raw: ../shell/comment-to-gerrit.sh + - builder: name: lf-fetch-dependent-patches builders: @@ -56,6 +64,8 @@ - builder: name: lf-infra-ship-logs builders: + # Ensure no pre-existing .netrc files are overriding logs config + - lf-provide-maven-settings-cleanup - config-file-provider: files: - file-id: 'jenkins-log-archives-settings' @@ -66,6 +76,7 @@ # Ensure python-tools are installed in case job template does not # call the lf-infra-pre-build macro. - ../shell/python-tools-install.sh + - shell: !include-raw: - ../shell/logs-deploy.sh - shell: !include-raw: - ../shell/logs-clear-credentials.sh @@ -109,10 +120,20 @@ - builder: name: lf-infra-packer-validate builders: + - conditional-step: + condition-kind: boolean-expression + condition-expression: '{openstack}' + steps: + - config-file-provider: + files: + - file-id: clouds-yaml + target: '$HOME/.config/openstack/clouds.yaml' + - inject: + properties-content: OS_CLOUD={openstack-cloud} - config-file-provider: files: - file-id: '{packer-cloud-settings}' - variable: 'CLOUDENV' + variable: CLOUDENV - inject: properties-content: | PACKER_VERSION={packer-version} @@ -161,11 +182,27 @@ GROUP_ID={group-id} UPLOAD_FILES_PATH={upload-files-dir} - shell: !include-raw-escape: - - ../shell/lftools-install.sh - ../shell/common-variables.sh - ../shell/deploy-maven-file.sh - lf-provide-maven-settings-cleanup +- builder: + name: lf-maven-central + builders: + - conditional-step: + condition-kind: boolean-expression + condition-expression: '{mvn-central}' + steps: + - lf-provide-maven-settings: + global-settings-file: '{mvn-global-settings}' + settings-file: '{mvn-settings}' + - lf-infra-create-netrc: + server-id: 'ossrh' + - inject: + properties-content: 'OSSRH_PROFILE_ID={ossrh-profile-id}' + - shell: !include-raw-escape: ../shell/maven-central.sh + - lf-provide-maven-settings-cleanup + - builder: name: lf-maven-install builders: @@ -224,9 +261,15 @@ builders: - inject: properties-content: DOC_DIR={doc-dir} - - shell: !include-raw-escape: - - ../shell/tox-install.sh - - ../shell/rtd-verify.sh + - shell: !include-raw-escape: ../shell/tox-install.sh + - shell: !include-raw-escape: ../shell/rtd-verify.sh + +- builder: + name: check-info-votes + builders: + - inject: + properties-content: JENKINS_SSH_CREDENTIAL={jenkins-ssh-credential} + - shell: !include-raw-escape: ../shell/check-info-votes.sh - builder: name: lf-sigul-sign-dir @@ -248,9 +291,10 @@ - shell: !include-raw-escape: ../shell/sigul-configuration.sh - shell: !include-raw-escape: ../shell/sigul-install.sh - inject: - properties-content: SIGN_DIR={sign-dir} + properties-content: | + SIGN_DIR={sign-dir} + SIGN_MODE={sign-mode} - shell: !include-raw-escape: - - ../shell/common-variables.sh - ../shell/sigul-sign-dir.sh - shell: !include-raw-escape: ../shell/sigul-configuration-cleanup.sh @@ -396,15 +440,6 @@ If using GitHub, in a manual build override with a branch path or sha1 hash to a specific commit. For example: 'origin/master' - # Tools - - string: - name: LFTOOLS_VERSION - default: '{lftools-version}' - description: | - Version of lftools to install. Can be a specific version like - '0.6.0' or a PEP-440 definition. - https://www.python.org/dev/peps/pep-0440/ - For example '<1.0.0' or '>=1.0.0,<2.0.0'. - parameter: name: lf-infra-node-parameters @@ -498,6 +533,34 @@ - '**/*.jenkins-trigger' fail-build: false +- publisher: + name: lf-infra-publish-windows + # lf-infra macro to finish up a build. + # + # Handles the following: + # - Shipping logs to Nexus logs site repository + # - Cleanup workspace + publishers: + # TODO: RELENG-1228 Develop log shipping script for Windows systems + # - postbuildscript: + # builders: + # - role: BOTH + # build-on: + # - ABORTED + # - FAILURE + # - NOT_BUILT + # - SUCCESS + # - UNSTABLE + # build-steps: + # - lf-infra-ship-logs-windows + # 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 + ####### # SCM # ####### @@ -515,6 +578,7 @@ wipe-workspace: true submodule: recursive: '{submodule-recursive}' + timeout: '{submodule-timeout}' choosing-strategy: '{choosing-strategy}' - scm: @@ -530,6 +594,7 @@ wipe-workspace: true submodule: recursive: '{submodule-recursive}' + timeout: '{submodule-timeout}' choosing-strategy: '{choosing-strategy}' ############ @@ -537,7 +602,7 @@ ############ - wrapper: - name: lf-infra-wrappers + name: lf-infra-wrappers-common wrappers: - mask-passwords - timeout: @@ -546,14 +611,26 @@ timeout-var: 'BUILD_TIMEOUT' fail: true - timestamps - - ssh-agent-credentials: - users: - - '{jenkins-ssh-credential}' - openstack: single-use: true + +- wrapper: + name: lf-infra-wrappers + wrappers: + - lf-infra-wrappers-common: + build-timeout: '{build-timeout}' - config-file-provider: files: - file-id: npmrc target: '$HOME/.npmrc' - file-id: pipconf target: '$HOME/.config/pip/pip.conf' + - ssh-agent-credentials: + users: + - '{jenkins-ssh-credential}' + +- wrapper: + name: lf-infra-wrappers-windows + wrappers: + - lf-infra-wrappers-common: + build-timeout: '{build-timeout}'