CI: test run
[osm/vim-emu.git] / Jenkinsfile
index 6d81a56..1659c6e 100644 (file)
@@ -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'),
@@ -20,10 +41,8 @@ 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,
@@ -33,5 +52,13 @@ 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
+    stage("Post-Test") {
+        sh "Running post-test stage"
+        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'"
+    }
 }