X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fvim-emu.git;a=blobdiff_plain;f=Jenkinsfile;h=1f12510e0b2f67811b10cb261100f92993bbb70e;hp=2a3164e42ede03e0be44a284489355a23ea4bf66;hb=efdda12a005a63a449ea7afb9baab1743b4d04ab;hpb=af04f9735d519cf9aa49f0a1625c59f48c33ba0b diff --git a/Jenkinsfile b/Jenkinsfile index 2a3164e..1f12510 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -37,15 +37,11 @@ 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" @@ -57,11 +53,16 @@ node('docker') { params.GERRIT_PATCHSET_REVISION, params.TEST_INSTALL, params.ARTIFACTORY_SERVER, - docker_args) + 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 build -t osm/vim-emu-pre-test ." - //sh "devops-stages/stage-pre-test.sh" 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 ." + sh "echo 'done'" } }