| // Copyright (c) 2018 by Paderborn University |
| // (manuel@peuster.de) |
| // 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. |
| // |
| // Neither the name of the OSM, Paderborn University |
| // nor the names of its contributors may be used to endorse or promote |
| // products derived from this software without specific prior written |
| // permission. |
| |
| properties([ |
| parameters([ |
| string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH'), |
| string(defaultValue: 'osm/vim-emu', description: '', name: 'GERRIT_PROJECT'), |
| string(defaultValue: env.GERRIT_REFSPEC, description: '', name: 'GERRIT_REFSPEC'), |
| string(defaultValue: env.GERRIT_PATCHSET_REVISION, description: '', name: 'GERRIT_PATCHSET_REVISION'), |
| string(defaultValue: 'https://osm.etsi.org/gerrit', description: '', name: 'PROJECT_URL_PREFIX'), |
| booleanParam(defaultValue: false, description: '', name: 'TEST_INSTALL'), |
| string(defaultValue: 'artifactory-osm', description: '', name: 'ARTIFACTORY_SERVER'), |
| ]) |
| ]) |
| |
| def devops_checkout() { |
| dir('devops') { |
| git url: "${PROJECT_URL_PREFIX}/osm/devops", branch: params.GERRIT_BRANCH |
| } |
| } |
| |
| |
| node('docker') { |
| checkout scm |
| devops_checkout() |
| |
| // call the normal OSM devops jobs (without root rights) |
| docker_args = "" |
| ci_helper = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy" |
| ci_helper.ci_pipeline( 'vim-emu', |
| params.PROJECT_URL_PREFIX, |
| params.GERRIT_PROJECT, |
| params.GERRIT_BRANCH, |
| params.GERRIT_REFSPEC, |
| params.GERRIT_PATCHSET_REVISION, |
| params.TEST_INSTALL, |
| params.ARTIFACTORY_SERVER, |
| docker_args) |
| |
| // custom test stage that executes vim-emu's unit tests as root |
| // we cannot do this as part of the normal stage 2 since it would create |
| // files owned by root that could not be cleaned up. |
| stage("Post-Test") { |
| sh "docker images" |
| sh "docker run --rm --privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock -u 0:0 osm/vim-emu-master pip3 list" |
| sh "docker run --rm --privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock -u 0:0 osm/vim-emu-master pytest -v" |
| sh "docker run --rm --privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock -u 0:0 osm/vim-emu-master flake8 --exclude=.eggs,devops,build,examples/charms --ignore=E501,W605,W504,E741,F523 ." |
| sh "echo 'done'" |
| } |
| } |