X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=Jenkinsfile;h=dd118e5be1235067e04910a4d39b3ede115e4baf;hb=refs%2Fchanges%2F05%2F8005%2F2;hp=6d81a56f6deb0702f4b80b194e7a45b70fb535e3;hpb=396e91e0dc05304d524a41d5a6f48d75c2867974;p=osm%2Fvim-emu.git diff --git a/Jenkinsfile b/Jenkinsfile index 6d81a56..dd118e5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,24 @@ +// 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'), @@ -16,14 +37,13 @@ def devops_checkout() { } } + node('docker') { checkout scm devops_checkout() - // vim-emu: We need to use privileged mode, docker.sock, and host pids for the container - // to test the emulator. Also needs -u 0:0 (root user inside container). - docker_args = "--privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock -u 0:0" - + // 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, @@ -34,4 +54,13 @@ node('docker') { params.TEST_INSTALL, params.ARTIFACTORY_SERVER, docker_args) + + // custom test stage that executes vim-emu's unit tests as root + stage("Post-Test") { + sh "docker images" + sh "docker run --rm osm/vim-emu-master ls -l" + sh "docker run --rm --privileged --pid='host' -u 0:0 -v /var/run/docker.sock:/var/run/docker.sock osm/vim-emu-master pytest -v" + sh "docker run --rm --privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock osm/vim-emu-master flake8 --exclude=.eggs,devopsi,build,examples/charms --ignore=E501,W605,W504 ." + sh "echo 'done'" + } }