Skip to content

Commit

Permalink
Test with latest JJB and supported JJB
Browse files Browse the repository at this point in the history
Test global-jjb with both the latest version of JJB as well as the
global-jjb supported version of JJB.

Also include a script to ensure that jjb/lf-ci-jobs.yaml and tox.ini
define the same supported versions of JJB.

Change-Id: I1a181776c6d0eef1b857ede9099d3ebb8e3ba98d
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
  • Loading branch information
zxiiro committed Aug 8, 2018
1 parent 3ae312f commit 775ab31
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 2 deletions.
42 changes: 42 additions & 0 deletions check_jjb_version.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2018 The Linux Foundation and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
"""Ensures that the jjb-version in tox and jjb/lf-ci-jobs.yaml match."""

__author__ = 'Thanh Ha'


import os
import re
import sys


def check_jjb_version(tox_file, releng_jobs_file):
with open(tox_file, 'r') as _file:
for num, line in enumerate(_file, 1):
if re.search('jenkins-job-builder==', line):
jjb_version_tox = line.rsplit('==', 1)[1].strip()
break

with open(releng_jobs_file, 'r') as _file:
for num, line in enumerate(_file, 1):
if re.search('jjb-version: ', line):
jjb_version = line.rsplit(':', 1)[1].strip()
break

print('JJB version in jjb/lf-ci-jobs.yaml: {}'.format(jjb_version))
print('JJB version in tox.ini: {}'.format(jjb_version_tox))

if jjb_version != jjb_version_tox:
print('ERROR: JJB version in jjb/lf-ci-jobs.yaml and tox.ini MUST match.')
sys.exit(1)


if __name__ == "__main__":
check_jjb_version('tox.ini', os.path.join('jjb', 'lf-ci-jobs.yaml'))
20 changes: 18 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
[tox]
minversion = 1.6
envlist = coala,ensure-documented,jjb,jjb-compare-xml,license
envlist =
coala,
ensure-documented,
jjb,
jjb-compare-xml,
jjb-latest,
jjb-version
license
skipsdist = true
passenv = TOX_WORK_DIR
toxworkdir = {env:TOX_WORK_DIR:/tmp/v}
Expand Down Expand Up @@ -29,7 +36,7 @@ commands =

[testenv:jjb]
deps =
jenkins-job-builder>=2.0.5
jenkins-job-builder==2.2.1
commands =
jenkins-jobs -l DEBUG test --recursive -o {toxinidir}/archives/job-configs {toxinidir}/jjb:{toxinidir}/.jjb-test

Expand All @@ -39,6 +46,15 @@ deps =
commands =
./jjb-compare-xml.sh

[testenv:jjb-latest]
deps =
jenkins-job-builder
commands =
jenkins-jobs -l DEBUG test --recursive -o {toxinidir}/archives/job-configs {toxinidir}/jjb:{toxinidir}/.jjb-test

[testenv:jjb-version]
commands = python {toxinidir}/check_jjb_version.py

[testenv:license]
deps = lftools
commands = lftools license check-dir -r '.+' shell
Expand Down

0 comments on commit 775ab31

Please sign in to comment.