--- # # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. # # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # - job-template: id: akraino-project-stream-release-config name: "{project-name}-{stream}-release-config" ###################### # Default parameters # ###################### archive-artifacts: > **/*.log **/hs_err_*.log **/target/**/feature.xml **/target/failsafe-reports/failsafe-summary.xml **/target/surefire-reports/*-output.txt build-days-to-keep: 30 build-timeout: 60 java-version: openjdk8 maven-repo-url: "$NEXUS_URL/content/repositories/snapshots" mvn-global-settings: global-settings mvn-opts: "" mvn-params: "" mvn-version: mvn35 nexus-shapshot-repo: snapshots repo-id: snapshots staging-profile-id: "" # Unused by this job. stream: master submodule-recursive: true upload-files-dir: /tmp/tardir ##################### # Job Configuration # ##################### project-type: freestyle node: "{build-node}" properties: - lf-infra-properties: build-days-to-keep: "{build-days-to-keep}" parameters: - lf-infra-parameters: project: "{project}" branch: "{branch}" stream: "{stream}" lftools-version: "{lftools-version}" - lf-infra-maven-parameters: mvn-opts: "{mvn-opts}" mvn-params: "{mvn-params}" mvn-version: "{mvn-version}" # Staging repos do not make sense for CLM jobs so set it blank. staging-profile-id: "{staging-profile-id}" - string: name: ARCHIVE_ARTIFACTS default: "{archive-artifacts}" description: Artifacts to archive to the logs server. - string: name: UPLOAD_FILES_PATH default: "{upload-files-dir}" description: File path to generate tarball and upload to repository. wrappers: - lf-infra-wrappers: build-timeout: "{build-timeout}" jenkins-ssh-credential: "{jenkins-ssh-credential}" gerrit_merge_triggers: - change-merged-event - comment-added-contains-event: comment-contains-value: remerge$ gerrit_trigger_file_paths: - compare-type: REG_EXP pattern: ".*" scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: "{jenkins-ssh-credential}" git-url: "{git-url}/{project}.git" refspec: "{refspec}" branch: "{branch}" submodule-recursive: "{submodule-recursive}" submodule-timeout: "{submodule-timeout}" submodule-disable: false choosing-strategy: default triggers: - timed: "{obj:cron}" - 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: "**/{branch}" file-paths: "{obj:gerrit_trigger_file_paths}" builders: - lf-infra-pre-build - lf-maven-install: mvn-version: "{mvn-version}" - lf-update-java-alternatives: java-version: "{java-version}" - lf-provide-maven-settings: global-settings-file: "{mvn-global-settings}" settings-file: "{mvn-settings}" - shell: !include-raw-escape: - ../shell/make-tar.sh - lf-infra-deploy-maven-file: global-settings-file: "{mvn-global-settings}" settings-file: "{mvn-settings}" mvn-version: "{mvn-version}" repo-id: "{repo-id}" group-id: "{group-id}" upload-files-dir: "{upload-files-dir}" maven-repo-url: "{maven-repo-url}" publishers: - lf-infra-publish - job-template: id: akraino-project-stream-stage-config name: "{project-name}-{stream}-stage-config" ###################### # Default parameters # ###################### archive-artifacts: > **/*.log **/hs_err_*.log **/target/**/feature.xml **/target/failsafe-reports/failsafe-summary.xml **/target/surefire-reports/*-output.txt build-days-to-keep: 14 build-timeout: 60 cron: "@daily" disable-job: false git-url: "$GIT_URL/$PROJECT" github-url: "https://github.com" java-version: openjdk8 mvn-global-settings: global-settings mvn-goals: clean deploy mvn-opts: "" mvn-params: "" mvn-version: mvn35 sign-artifacts: false stream: master submodule-recursive: true upload-files-dir: m2repo # expected by "lftools deploy nexus-stage" ##################### # Job Configuration # ##################### project-type: freestyle node: "{build-node}" properties: - lf-infra-properties: build-days-to-keep: "{build-days-to-keep}" parameters: - lf-infra-parameters: project: "{project}" branch: "{branch}" stream: "{stream}" lftools-version: "{lftools-version}" - lf-infra-maven-parameters: mvn-opts: "{mvn-opts}" mvn-params: "{mvn-params}" mvn-version: "{mvn-version}" staging-profile-id: "{staging-profile-id}" - string: name: ARCHIVE_ARTIFACTS default: "{archive-artifacts}" description: Artifacts to archive to the logs server. - string: name: UPLOAD_FILES_PATH default: "{upload-files-dir}" description: File path to generate tarball and upload to repository. - string: name: STAGING_PROFILE_ID default: "{staging-profile-id}" description: Nexus staging profile ID. - string: name: STAGING_BUILD default: "true" description: Mark this as a staging build. wrappers: - lf-infra-wrappers: build-timeout: "{build-timeout}" jenkins-ssh-credential: "{jenkins-ssh-credential}" gerrit_release_triggers: - comment-added-contains-event: comment-contains-value: stage-release$ disabled: "{disable-job}" 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: false choosing-strategy: default triggers: - timed: "{obj:cron}" - gerrit: server-name: "{gerrit-server-name}" trigger-on: "{obj:gerrit_release_triggers}" projects: - project-compare-type: ANT project-pattern: "{project}" branches: - branch-compare-type: ANT branch-pattern: "**/{branch}" builders: - lf-infra-pre-build - lf-jacoco-nojava-workaround - lf-maven-install: mvn-version: "{mvn-version}" - lf-update-java-alternatives: java-version: "{java-version}" - lf-provide-maven-settings: global-settings-file: "{mvn-global-settings}" settings-file: "{mvn-settings}" - lf-infra-create-netrc: server-id: "{mvn-staging-id}" - shell: !include-raw-escape: - ../shell/make-tar.sh - lf-sigul-sign-dir: sign-artifacts: "{sign-artifacts}" sign-dir: "$WORKSPACE/m2repo" sign-mode: serial - lf-maven-stage: mvn-global-settings: "global-settings" mvn-settings: "" mvn-staging-id: "" - lf-provide-maven-settings-cleanup publishers: - lf-infra-publish - job-template: id: akraino-project-stream-verify name: "{project-name}-{stream}-verify" archive-artifacts: > **/*.log build-days-to-keep: 30 build-timeout: 60 stream: master project-type: freestyle submodule-recursive: true node: "{build-node}" properties: - lf-infra-properties: build-days-to-keep: "{build-days-to-keep}" parameters: - lf-infra-parameters: project: "{project}" stream: "{stream}" branch: "{branch}" lftools-version: "{lftools-version}" - string: name: ARCHIVE_ARTIFACTS default: "{archive-artifacts}" description: Artifacts to archive to the logs server. wrappers: - lf-infra-wrappers: build-timeout: "{build-timeout}" jenkins-ssh-credential: "{jenkins-ssh-credential}" scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: "{jenkins-ssh-credential}" git-url: "{git-url}/{project}.git" refspec: "$GERRIT_REFSPEC" branch: "$GERRIT_BRANCH" submodule-recursive: "{submodule-recursive}" submodule-timeout: "{submodule-timeout}" submodule-disable: false choosing-strategy: "gerrit" triggers: - gerrit: server-name: "{gerrit-server-name}" trigger-on: - patchset-created-event: exclude-drafts: "false" exclude-trivial-rebase: "false" exclude-no-code-change: "false" - change-merged-event - 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: "{project}" branches: - branch-compare-type: "ANT" branch-pattern: "**/{branch}" file-paths: - compare-type: ANT pattern: "**/*" disable-strict-forbidden-file-verification: "true" forbidden-file-paths: - compare-type: ANT pattern: "docs/**" readable-message: true builders: - shell: !include-raw-escape: - ../shell/verify.sh publishers: - lf-infra-publish - job-template: id: akraino-project-build-node-init name: "{project-name}-{build-node}-init" # disable_job: false disabled: "{obj:disable_job}" concurrent: true parameters: - lf-infra-parameters: project: "{project}" stream: "{stream}" branch: "{branch}" - label: name: "{build-node}" default: "{build-node}" node-eligibility: "all" all-nodes: true gerrit_merge_triggers: - change-merged-event - comment-added-contains-event: comment-contains-value: remerge$ gerrit_trigger_file_paths: - compare-type: REG_EXP pattern: "global-jjb" scm: - lf-infra-gerrit-scm: jenkins-ssh-credential: "{jenkins-ssh-credential}" git-url: "{git-url}/{project}.git" refspec: "$GERRIT_REFSPEC" branch: "$GERRIT_BRANCH" submodule-recursive: true submodule-timeout: "{submodule-timeout}" submodule-disable: false 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: "**/{branch}" file-paths: "{obj:gerrit_trigger_file_paths}" builders: - description-setter: description: "POD: $NODE_NAME" - shell: | #!/bin/bash -ex export SWAP_SIZE=0 sudo -E ./global-jjb/jenkins-init-scripts/init.sh sudo chown jenkins:jenkins -R archives publishers: - lf-infra-publish