}
}
+
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"
-
+ // 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.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 pip 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'"
+ }
}