summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrevor Bramwell <tbramwell@linuxfoundation.org>2020-08-19 22:31:46 +0000
committerGerrit Code Review <gerrit@opnfv.org>2020-08-19 22:31:46 +0000
commit29091f057109344db49a956f663ca16c738f7a3b (patch)
tree84920397d877702383c9969509df3ef82333a488
parentb5e9c78df69487adcf1e48cffe1d0034fffc688e (diff)
parentcb2a4f34df19398c2800beca0d8723ad4f0d2573 (diff)
Merge "Add Lint process to Kuberef"
-rwxr-xr-xjjb/kuberef/kuberef-run-linting.sh56
-rw-r--r--jjb/kuberef/kuberef-verify-jobs.yaml51
-rw-r--r--jjb/kuberef/kuberef-views.yaml6
-rw-r--r--jjb/kuberef/kuberef.yaml20
4 files changed, 113 insertions, 20 deletions
diff --git a/jjb/kuberef/kuberef-run-linting.sh b/jjb/kuberef/kuberef-run-linting.sh
new file mode 100755
index 000000000..4f681ac53
--- /dev/null
+++ b/jjb/kuberef/kuberef-run-linting.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 Samsung Electronics
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+set -o nounset
+set -o pipefail
+set -o xtrace
+
+# shellcheck disable=SC1091
+source /etc/os-release || source /usr/lib/os-release
+
+pkgs=""
+if ! command -v shellcheck; then
+ case ${ID,,} in
+ *suse*|rhel|centos|fedora)
+ pkgs="ShellCheck"
+ ;;
+ ubuntu|debian)
+ pkgs="shellcheck"
+ ;;
+ esac
+fi
+
+if ! command -v pip; then
+ pkgs+=" python-pip"
+fi
+
+if [ -n "$pkgs" ]; then
+ case ${ID,,} in
+ *suse*)
+ sudo zypper install --gpg-auto-import-keys refresh
+ sudo -H -E zypper install -y --no-recommends "$pkgs"
+ ;;
+ ubuntu|debian)
+ sudo apt-get update
+ sudo -H -E apt-get -y --no-install-recommends install "$pkgs"
+ ;;
+ rhel|centos|fedora)
+ PKG_MANAGER=$(command -v dnf || command -v yum)
+ if ! sudo "$PKG_MANAGER" repolist | grep "epel/"; then
+ sudo -H -E "$PKG_MANAGER" -q -y install epel-release
+ fi
+ sudo "$PKG_MANAGER" updateinfo --assumeyes
+ sudo -H -E "${PKG_MANAGER}" -y install "$pkgs"
+ ;;
+ esac
+fi
+
+tox -e lint
+bash -c 'shopt -s globstar; shellcheck **/*.sh'
diff --git a/jjb/kuberef/kuberef-verify-jobs.yaml b/jjb/kuberef/kuberef-verify-jobs.yaml
new file mode 100644
index 000000000..dfe6d7276
--- /dev/null
+++ b/jjb/kuberef/kuberef-verify-jobs.yaml
@@ -0,0 +1,51 @@
+---
+- project:
+ name: kuberef-verify
+ project: kuberef
+ stream:
+ - master:
+ branch: '{stream}'
+ jobs:
+ - '{project}-verify-lint-{stream}'
+
+- job-template:
+ name: '{project}-verify-lint-{stream}'
+ scm:
+ - kuberef-project-scm
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'kuberef'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+ builders:
+ - kubref-run-linting
+
+- scm:
+ name: kuberef-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/kuberef
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- builder:
+ name: kubref-run-linting
+ builders:
+ - shell:
+ !include-raw: ./kuberef-run-linting.sh
diff --git a/jjb/kuberef/kuberef-views.yaml b/jjb/kuberef/kuberef-views.yaml
new file mode 100644
index 000000000..7b19c2df6
--- /dev/null
+++ b/jjb/kuberef/kuberef-views.yaml
@@ -0,0 +1,6 @@
+---
+- project:
+ name: kuberef-view
+ views:
+ - project-view
+ project-name: kuberef
diff --git a/jjb/kuberef/kuberef.yaml b/jjb/kuberef/kuberef.yaml
deleted file mode 100644
index 6e42922b5..000000000
--- a/jjb/kuberef/kuberef.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- project:
- name: kuberef-project-view
- project-name: kuberef
- views:
- - project-view
-
-- project:
- name: kuberef-info
- project: kuberef
- project-name: kuberef
- jobs:
- - gerrit-info-yaml-verify
-
-- project:
- name: kuberef
- project: kuberef
- project-name: kuberef
- jobs:
- - '{project}-verify-basic'