# SPDX-License-Identifier: Apache-2.0 ############################################################################## # Copyright (c) 2019 The Linux Foundation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## --- #################### # COMMON FUNCTIONS # #################### - lf_release_common: &lf_release_common name: lf-release-common ##################### # Job Configuration # ##################### project-type: freestyle node: "{build-node}" properties: - lf-infra-properties: build-days-to-keep: 7 publishers: - lf-infra-publish ################## # RELEASE VERIFY # ################## - lf_release_verify: &lf_release_verify name: lf-release-verify ###################### # Default parameters # ###################### build-days-to-keep: 7 build-timeout: 15 disable-job: false git-url: "$GIT_URL/$PROJECT" gerrit-skip-vote: false use-release-file: true gerrit_verify_triggers: - patchset-created-event: exclude-drafts: true exclude-trivial-rebase: false exclude-no-code-change: false - draft-published-event - comment-added-contains-event: comment-contains-value: "^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$" ##################### # Job Configuration # ##################### disabled: "{disable-job}" parameters: - lf-infra-parameters: project: "{project}" branch: "$GERRIT_BRANCH" stream: "$GERRIT_BRANCH" - lf-build-with-parameters-maven-release: use-release-file: "{use-release-file}" builders: - lf-infra-pre-build - conditional-step: condition-kind: regex-match regex: "^.*-docker-.*" label: "{build-node}" steps: - lf-provide-maven-settings: global-settings-file: "global-settings" settings-file: "{mvn-settings}" - shell: !include-raw-escape: ../shell/docker-login.sh - lf-provide-maven-settings-cleanup - config-file-provider: files: - file-id: sigul-config variable: SIGUL_CONFIG - file-id: sigul-password variable: SIGUL_PASSWORD - file-id: sigul-pki variable: SIGUL_PKI - file-id: signing-pubkey variable: SIGNING_PUBKEY - shell: !include-raw-escape: ../shell/sigul-configuration.sh - shell: !include-raw-escape: ../shell/sigul-install.sh - lf-release - job-template: name: "{project-name}-release-verify" id: gerrit-release-verify <<: *lf_release_common # yamllint disable-line rule:key-duplicates <<: *lf_release_verify wrappers: - lf-infra-wrappers: build-timeout: "{build-timeout}" jenkins-ssh-credential: "{jenkins-ssh-credential}" scm: - lf-infra-gerrit-scm: git-url: "{git-url}" refspec: "$GERRIT_REFSPEC" branch: "$GERRIT_BRANCH" submodule-disable: true submodule-recursive: false submodule-timeout: 10 choosing-strategy: gerrit jenkins-ssh-credential: "{jenkins-ssh-credential}" triggers: - gerrit: server-name: "{gerrit-server-name}" trigger-on: "{obj:gerrit_verify_triggers}" projects: - project-compare-type: "ANT" project-pattern: "{project}" branches: - branch-compare-type: "ANT" branch-pattern: "**" file-paths: - compare-type: REG_EXP pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)' skip-vote: successful: "{gerrit-skip-vote}" failed: "{gerrit-skip-vote}" unstable: "{gerrit-skip-vote}" notbuilt: "{gerrit-skip-vote}" ################# # RELEASE MERGE # ################# - lf_release_merge: &lf_release_merge name: lf-release-merge ###################### # Default parameters # ###################### build-days-to-keep: 7 build-timeout: 15 disable-job: false git-url: "$GIT_URL/$PROJECT" use-release-file: true gerrit_merge_triggers: - change-merged-event - comment-added-contains-event: comment-contains-value: remerge$ ##################### # Job Configuration # ##################### disabled: "{disable-job}" parameters: - lf-infra-parameters: project: "{project}" branch: "$GERRIT_BRANCH" stream: "$GERRIT_BRANCH" - lf-build-with-parameters-maven-release: use-release-file: "{use-release-file}" - bool: name: DRY_RUN default: false description: | If DRY_RUN is enabled artifacts are not published. builders: - lf-infra-pre-build - conditional-step: condition-kind: regex-match regex: "^.*-docker-.*" label: "{build-node}" steps: - lf-provide-maven-settings: global-settings-file: "global-settings" settings-file: "{mvn-settings}" - shell: !include-raw-escape: ../shell/docker-login.sh - lf-provide-maven-settings-cleanup - config-file-provider: files: - file-id: sigul-config variable: SIGUL_CONFIG - file-id: sigul-password variable: SIGUL_PASSWORD - file-id: sigul-pki variable: SIGUL_PKI - file-id: signing-pubkey variable: SIGNING_PUBKEY - shell: !include-raw-escape: ../shell/sigul-configuration.sh - shell: !include-raw-escape: ../shell/sigul-install.sh - lf-release - job-template: name: "{project-name}-release-merge" id: gerrit-release-merge <<: *lf_release_common # yamllint disable-line rule:key-duplicates <<: *lf_release_merge wrappers: - lf-infra-wrappers: build-timeout: "{build-timeout}" jenkins-ssh-credential: "{jenkins-ssh-release-credential}" scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: "{jenkins-ssh-credential}" git-url: "{git-url}" refspec: "$GERRIT_REFSPEC" branch: "$GERRIT_BRANCH" submodule-disable: true submodule-recursive: false submodule-timeout: 10 choosing-strategy: default 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: "**" file-paths: - compare-type: REG_EXP pattern: '(releases\/.*\.yaml|\.releases\/.*\.yaml)'