blob: 94e5673c60cc3e144c265bf8d2841afd2abdf5c5 [file] [log] [blame]
---
# ============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: 'onap-verify-package'
project: 'onap-verify-package'
stream:
- 'master':
branch: '{stream}'
openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
execution-mode: 'packaging'
container-tool: 'docker'
gated-projects: 'infra/stack/onap|infra/installer/oom'
successful: false
failed: false
unstable: false
notbuilt: false
deploy-scenario: 'onap-full-nofeature'
- 'frankfurt':
branch: '{stream}'
openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
execution-mode: 'packaging'
container-tool: 'docker'
gated-projects: 'infra/stack/onap|infra/installer/oom'
successful: false
failed: false
unstable: false
notbuilt: false
deploy-scenario: 'onap-full-nofeature'
- 'elalto':
branch: '{stream}'
openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
execution-mode: 'packaging'
container-tool: 'docker'
gated-projects: 'infra/stack/onap|infra/installer/oom'
successful: false
failed: false
unstable: false
notbuilt: false
deploy-scenario: 'onap-full-nofeature'
distro:
- ubuntu1804
dependency-jobs: 'onap-verify-tox-{stream}'
dependency-job-var: 'TRIGGER_onap_verify_tox_{stream}_BUILD_RESULT'
jobs:
- 'onap-verify-package-{distro}-{stream}'
- job-template:
name: 'onap-verify-package-{distro}-{stream}'
disabled: '{obj:disabled}'
concurrent: true
parameters:
- string:
name: DEPLOY_SCENARIO
default: '{deploy-scenario}'
description: 'Scenario to test change with.'
- string:
name: EXECUTION_MODE
default: '{execution-mode}'
description: 'Engine execution mode - packaging'
- string:
name: CONTAINER_TOOL
default: '{container-tool}'
description: 'Command to use when pulling images. Options docker or podman'
- 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: CI_LOOP
default: 'verify'
description: 'CI loop type'
- label:
name: SLAVE_LABEL
default: 'engine-package-{distro}-fra'
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
# NOTE (fdegir): throttle categories are controlled in jenkins global configuration
- throttle:
enabled: true
max-per-node: 1
max-total: 4
option: category
categories:
- engine-verify-package
scm:
- git-scm-gerrit:
ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
branch: $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: 300
- 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-change-metadata-macro'
- inject:
properties-file: "$WORKSPACE/change.properties"
- 'generate-ssh-keypair-macro'
- 'wait-pkg-mgr-macro'
- 'package-macro'
- 'upload-artifact-macro'