[INF-146]

Unify mechanism across multiple ci-management repos

- move converted per-repo jobs into the jjb/repos hierarchy

- Pull in macros (with onf- prefix) and common scripts from ONOS/Aether
  ci-management repos, unifying behavior

- Update tagging scripts to unify changes

- Update gerrit repo multi-checkout and patch script

- Change over to newer static host for publishing charts/docs

- use python3 venv instead of virtualenv

Change-Id: Id46fdc23679b8854c54e294a7fb022e69d6d28f9
diff --git a/jjb/repos/helm-charts.yaml b/jjb/repos/helm-charts.yaml
new file mode 100644
index 0000000..9c3810c
--- /dev/null
+++ b/jjb/repos/helm-charts.yaml
@@ -0,0 +1,19 @@
+---
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation <info@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+# These are the CORD specific helm charts
+
+- project:
+    name: helm-charts
+    project: '{name}'
+    project-regexp: '^{name}$'
+    branch-regexp: '{modern-branches-regexp}'
+
+    jobs:
+      - 'verify-licensed'
+      - 'tag-check'
+      - 'helm-lint':
+          branch-regexp: '{modern-branches-regexp}'
+      - 'version-tag'
+      - 'publish-helm-repo'
diff --git a/jjb/repos/helm-repo-tools.yaml b/jjb/repos/helm-repo-tools.yaml
new file mode 100644
index 0000000..213d447
--- /dev/null
+++ b/jjb/repos/helm-repo-tools.yaml
@@ -0,0 +1,17 @@
+---
+# verification jobs for 'helm-repo-tools' repo
+
+- project:
+    name: helm-repo-tools
+    project: '{name}'
+
+    jobs:
+      - 'verify-helm-repo-tools-jobs':
+          branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+    name: 'verify-helm-repo-tools-jobs'
+    jobs:
+      - 'verify-licensed'
+      - 'verify-shellcheck':
+          dependency-jobs: 'verify_helm-repo-tools_licensed'
diff --git a/jjb/repos/versioning.yaml b/jjb/repos/versioning.yaml
new file mode 100644
index 0000000..e74de49
--- /dev/null
+++ b/jjb/repos/versioning.yaml
@@ -0,0 +1,16 @@
+---
+# DEPRECATED
+# Note - transitioning to ONOS/Aether style one file and individual version
+# jobs per repo, instead of the massive regex to match all repos
+#
+# This file exists only to handle the repos that haven't transitioned yet and
+# are still in the regex
+
+- project:
+    name: versioning-jobs
+
+    project: 'wildcard'
+    project-regexp: '{version-tag-projects-regexp}'
+
+    jobs:
+      - 'version-tag'
diff --git a/jjb/repos/voltha-docs.yaml b/jjb/repos/voltha-docs.yaml
new file mode 100644
index 0000000..5e6d903
--- /dev/null
+++ b/jjb/repos/voltha-docs.yaml
@@ -0,0 +1,34 @@
+---
+# verification jobs for 'voltha-docs' repo
+
+- project:
+    name: voltha-docs
+    project: '{name}'
+    project-regexp: '^{name}$'
+
+    jobs:
+      - 'verify-voltha-docs-jobs':
+          branch-regexp: '{supported-branches-regexp}'
+      - 'post-submit-voltha-docs-jobs':
+          branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+    name: 'verify-voltha-docs-jobs'
+    jobs:
+      - 'verify-licensed'
+      - 'tag-check'
+      - 'make-unit-test':
+          unit-test-targets: 'test'
+          junit-allow-empty-results: true
+
+- job-group:
+    name: 'post-submit-voltha-docs-jobs'
+    jobs:
+      - 'version-tag'
+      - 'sync-dir':
+          dependency-jobs: 'version-tag_voltha-docs'
+          build-command: 'make multiversion'
+          build-output-path: '_build/multiversion/'
+          sync-target-server: 'static.opennetworking.org'
+          sync-target-path: '/srv/sites/docs.voltha.org/'
+          build-timeout: 60
diff --git a/jjb/repos/voltha-helm-charts.yaml b/jjb/repos/voltha-helm-charts.yaml
new file mode 100644
index 0000000..a8f6d36
--- /dev/null
+++ b/jjb/repos/voltha-helm-charts.yaml
@@ -0,0 +1,48 @@
+---
+# SPDX-FileCopyrightText: 2018-2022 Open Networking Foundation <info@opennetworking.org>
+# SPDX-License-Identifier: Apache-2.0
+
+- project:
+    name: voltha-helm-charts
+    project: '{name}'
+    project-regexp: '^{name}$'
+
+    jobs:
+      - 'verify-voltha-helm-charts-jobs':
+          branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-helm-charts-jobs-voltha-2.8':
+          name-extension: '-voltha-2.8'
+          override-branch: 'voltha-2.8'
+          branch-regexp: '^voltha-2.8$'
+      - 'verify-voltha-helm-charts-jobs-voltha-2.9':
+          name-extension: '-voltha-2.9'
+          override-branch: 'voltha-2.9'
+          branch-regexp: '^voltha-2.9$'
+      - 'verify-voltha-helm-charts-jobs-master':
+          branch-regexp: '^master$'
+
+- job-group:
+    name: 'verify-voltha-helm-charts-jobs'
+    jobs:
+      - 'verify-licensed'
+      - 'tag-check'
+      - 'helm-lint'
+      - 'version-tag'
+      - 'publish-helm-repo'
+
+- job-group:
+    name: 'verify-voltha-helm-charts-jobs-voltha-2.8'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/voltha-2.8/bbsim-tests.groovy'
+
+- job-group:
+    name: 'verify-voltha-helm-charts-jobs-voltha-2.9'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/voltha-2.9/bbsim-tests.groovy'
+
+- job-group:
+    name: 'verify-voltha-helm-charts-jobs-master'
+    jobs:
+      - 'voltha-patch-test'