--- # ============LICENSE_START======================================================= # Copyright (C) 2019 Nordix Foundation. # ================================================================================ # 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. # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= - project: name: 'engine-verify-package' project: 'engine-verify-package' stream: - 'master': branch: '{stream}' openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-cicd' execution-mode: 'packaging' gated-projects: 'infra/engine|infra/provisioner/bifrost|infra/provisioner/heat|infra/installer/kolla|infra/installer/kubespray' successful: false failed: false unstable: false notbuilt: false distro: - ubuntu1804 dependency-jobs: 'engine-verify-tox-{stream}' dependency-job-var: 'TRIGGER_engine_verify_tox_{stream}_BUILD_RESULT' jobs: - 'engine-verify-package-{distro}-{stream}' - job-template: name: 'engine-verify-package-{distro}-{stream}' disabled: '{obj:disabled}' concurrent: true parameters: - string: name: EXECUTION_MODE default: '{execution-mode}' description: 'Engine execution mode - packaging' - string: name: DISTRO default: '{distro}' description: 'Distribution to use for configuring target nodes (networking etc.)' - string: name: VERBOSITY default: 'true' description: 'Verbosity setting for the engine - true or false - default is false' - string: name: ENGINE_REPO_URL default: 'https://gerrit.nordix.org/infra/engine.git' description: 'URL to Nordix Cloud Infra engine repository' - string: name: ARTIFACTS_TO_UPLOAD default: "k8s-installer-ubuntu1804.bsx" description: 'Artifacts to upload' - string: name: NORDIX_ARM_PUBLIC_IP default: '91.106.198.25' description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name' - string: name: NORDIX_ARM_HTTPS_URL default: 'https://artifactory.nordix.org/artifactory' description: 'URL to Nordix Artifactory' - string: name: NORDIX_ARM_REPO default: 'nordix-kubernetes' description: 'Name of the repository to upload and download artifact to/from. Depends on the stack' - string: name: NORDIX_ARTIFACT_URL default: "$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/gerrit/$GERRIT_CHANGE_NUMBER" description: 'Artifact to download' - string: name: CI_LOOP default: 'verify' description: 'CI loop type' - label: name: SLAVE_LABEL default: 'engine-package-{distro}' description: 'Slave label to schedule this job on.' - project-parameters: project: $GERRIT_PROJECT branch: '{branch}' description: 'The project and branch which the change is proposed for' - nordix-gerrit-parameters properties: - logrotate - build-blocker: use-build-blocker: true blocking-jobs: - 'engine-verify-package-.*' - 'onap-sdc-periodic-release-offline-.*' - 'onap-so-periodic-release-offline-.*' - 'kubernetes-periodic-release-offline-.*' block-level: 'NODE' - throttle: max-per-node: 1 max-total: 3 option: project scm: - git-scm-gerrit: ssh-credentials-id: nordixinfra-nordix-gerrit-ssh branch: refs/heads/$GERRIT_BRANCH refspec: $GERRIT_REFSPEC wipe_workspace: true clean_before: false triggers: - gerrit: server-name: 'Nordix Gerrit' 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: 'REG_EXP' project-pattern: '{gated-projects}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' disable-strict-forbidden-file-verification: 'true' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**|releasenotes/**' skip-vote: successful: '{obj:successful}' failed: '{obj:failed}' unstable: '{obj:unstable}' notbuilt: '{obj:notbuilt}' custom-url: '* $JOB_NAME $BUILD_URL' readable-message: 'true' dependency-jobs: '{dependency-jobs}' wrappers: - openstack: single-use: True - build-timeout: timeout: 70 - credentials-binding: - username-password-separated: credential-id: 'nordix-cicd-arm-credentials' username: NORDIX_ARM_USERNAME password: NORDIX_ARM_TOKEN - mask-passwords - pre-scm-buildstep: failOnError: true buildsteps: - system-groovy: command: | def build = this.getProperty('binding').getVariable('build') def listener = this.getProperty('binding').getVariable('listener') if (build.getEnvironment(listener).{dependency-job-var} != "SUCCESS") {{ println "WARN : Aborting build since dependent job did not succeed!" throw new InterruptedException() }} - shell: | #!/bin/bash sudo chown -R $USER:$USER $WORKSPACE || exit 1 builders: - 'generate-sdf-for-change-macro' - 'generate-ssh-keypair-macro' - 'wait-pkg-mgr-macro' - 'package-macro' - 'upload-artifact-macro'