Finalizing Python3 migration
[osm/vim-emu.git] / Jenkinsfile
index c81511a..1f12510 100644 (file)
@@ -37,21 +37,11 @@ def devops_checkout() {
     }
 }
 
+
 node('docker') {
     checkout scm
-
-    stage("Pre-Test") {
-        //sh "docker build -t osm/vim-emu-pre-test ."
-        sh "devops-stages/stage-pre-test.sh"
-    }
-    
     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"
@@ -64,4 +54,15 @@ node('docker') {
                            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 ."
+        sh "echo 'done'"
+    }
 }