blob: dd118e5be1235067e04910a4d39b3ede115e4baf [file] [log] [blame]
peusterm102d7262018-10-01 16:25:44 +02001// Copyright (c) 2018 by Paderborn University
2// (manuel@peuster.de)
3// ALL RIGHTS RESERVED.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Neither the name of the OSM, Paderborn University
18// nor the names of its contributors may be used to endorse or promote
19// products derived from this software without specific prior written
20// permission.
21
peusterm396e91e2017-10-25 16:20:51 +020022properties([
23 parameters([
24 string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH'),
25 string(defaultValue: 'osm/vim-emu', description: '', name: 'GERRIT_PROJECT'),
26 string(defaultValue: env.GERRIT_REFSPEC, description: '', name: 'GERRIT_REFSPEC'),
27 string(defaultValue: env.GERRIT_PATCHSET_REVISION, description: '', name: 'GERRIT_PATCHSET_REVISION'),
28 string(defaultValue: 'https://osm.etsi.org/gerrit', description: '', name: 'PROJECT_URL_PREFIX'),
29 booleanParam(defaultValue: false, description: '', name: 'TEST_INSTALL'),
30 string(defaultValue: 'artifactory-osm', description: '', name: 'ARTIFACTORY_SERVER'),
31 ])
32])
33
34def devops_checkout() {
35 dir('devops') {
36 git url: "${PROJECT_URL_PREFIX}/osm/devops", branch: params.GERRIT_BRANCH
37 }
38}
39
peustermbaeab7b2019-10-01 16:03:08 +020040
peusterm396e91e2017-10-25 16:20:51 +020041node('docker') {
42 checkout scm
43 devops_checkout()
44
peusterm04dfa0a2019-09-26 21:25:09 +020045 // call the normal OSM devops jobs (without root rights)
46 docker_args = ""
peusterm396e91e2017-10-25 16:20:51 +020047 ci_helper = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy"
48 ci_helper.ci_pipeline( 'vim-emu',
49 params.PROJECT_URL_PREFIX,
50 params.GERRIT_PROJECT,
51 params.GERRIT_BRANCH,
52 params.GERRIT_REFSPEC,
53 params.GERRIT_PATCHSET_REVISION,
54 params.TEST_INSTALL,
55 params.ARTIFACTORY_SERVER,
peusterm8b789992019-10-01 15:39:08 +020056 docker_args)
peustermaf04f972019-10-01 14:01:15 +020057
peusterm0794a1a2019-10-01 14:55:07 +020058 // custom test stage that executes vim-emu's unit tests as root
peustermaf04f972019-10-01 14:01:15 +020059 stage("Post-Test") {
peusterm8b789992019-10-01 15:39:08 +020060 sh "docker images"
61 sh "docker run --rm osm/vim-emu-master ls -l"
peustermbaeab7b2019-10-01 16:03:08 +020062 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"
63 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 ."
peusterm0794a1a2019-10-01 14:55:07 +020064 sh "echo 'done'"
peustermaf04f972019-10-01 14:01:15 +020065 }
peusterm396e91e2017-10-25 16:20:51 +020066}