--- /dev/null
+---
+# ============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: 'ironic-verify-package'
+
+ project: 'ironic-verify-package'
+
+ stream:
+ - 'master':
+ branch: '{stream}'
+ openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd'
+ execution-mode: 'packaging'
+ gated-projects: 'infra/stack/ironic|infra/provisioner/bifrost'
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+ distro:
+ - ubuntu1804
+
+ dependency-jobs: 'ironic-verify-tox-{stream}'
+ dependency-job-var: 'TRIGGER_ironic_verify_tox_{stream}_BUILD_RESULT'
+
+ jobs:
+ - 'ironic-verify-package-{distro}-{stream}'
+
+- job-template:
+ name: 'ironic-verify-package-{distro}-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ node: 'engine-package-{distro}-fra'
+
+ 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: CI_LOOP
+ default: 'verify'
+ description: 'CI loop type'
+ - 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: 240
+ - 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'