Publish daily and gating jjbs 93/61393/4
authorCédric Ollivier <cedric.ollivier@orange.com>
Mon, 20 Aug 2018 09:14:17 +0000 (11:14 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Fri, 31 Aug 2018 09:54:17 +0000 (11:54 +0200)
Change-Id: Ic7fd7bc9adf1672573878d6b74d43fa55e777be3
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
ci/daily.yaml [new file with mode: 0644]
ci/gate.yaml [new file with mode: 0644]
ci/globals.yaml [new file with mode: 0644]
ci/run.yaml [new file with mode: 0644]
tox.ini

diff --git a/ci/daily.yaml b/ci/daily.yaml
new file mode 100644 (file)
index 0000000..fad26e7
--- /dev/null
@@ -0,0 +1,53 @@
+---
+- job-template:
+    name: '{repo}-functest-kubernetes-{container}-{tag}-pull'
+    builders:
+      - shell: docker pull {repo}/functest-kubernetes-{container}:{tag}
+
+- project:
+    name: '{repo}-functest-kubernetes-{container}-{tag}-pull'
+    container:
+      - healthcheck
+      - smoke
+      - features
+    jobs:
+      - '{repo}-functest-kubernetes-{container}-{tag}-pull'
+
+- job-template:
+    name: '{repo}-functest-kubernetes-{tag}-pull'
+    project-type: multijob
+    builders:
+      - multijob:
+          name: pull all containers
+          projects:
+            - name: '{repo}-functest-kubernetes-healthcheck-{tag}-pull'
+            - name: '{repo}-functest-kubernetes-smoke-{tag}-pull'
+            - name: '{repo}-functest-kubernetes-features-{tag}-pull'
+
+- project:
+    name: '{repo}-functest-kubernetes-{tag}-pull'
+    jobs:
+      - '{repo}-functest-kubernetes-{tag}-pull'
+
+- job-template:
+    name: '{repo}-functest-kubernetes-{tag}-daily'
+    project-type: multijob
+    builders:
+      - multijob:
+          name: pull containers
+          projects:
+            - name: '{repo}-functest-kubernetes-{tag}-pull'
+      - multijob:
+          name: basics tests
+          projects:
+            - name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+      - multijob:
+          name: advanced tests
+          projects:
+            - name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+            - name: '{repo}-functest-kubernetes-features-{tag}-run'
+
+- project:
+    name: '{repo}-functest-kubernetes-{tag}-daily'
+    jobs:
+      - '{repo}-functest-kubernetes-{tag}-daily'
diff --git a/ci/gate.yaml b/ci/gate.yaml
new file mode 100644 (file)
index 0000000..2efea23
--- /dev/null
@@ -0,0 +1,96 @@
+---
+- functest-kubernetes-buildparameters: &functest-kubernetes-buildparameters
+    name: 'functest-kubernetes-buildparameters'
+    parameters:
+      - string:
+          name: branch
+          default: '{branch}'
+
+- projectparameters: &functest-kubernetes-projectparameters
+    name: 'functest-kubernetes-projectparameters'
+    current-parameters: true
+
+- scm:
+    name: functest-kubernetes-gerrit
+    scm:
+      - git:
+          url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
+          refspec: '+refs/changes/*:refs/changes/*'
+          branches:
+            - ${branch}
+
+- job-template:
+    name: '{repo}-functest-kubernetes-{container}-{tag}-build'
+    <<: *functest-kubernetes-buildparameters
+    scm:
+      - functest-kubernetes-gerrit
+    builders:
+      - shell: |
+          cd docker/$(echo {container} |cut -d\- -f 2)
+          docker build \
+            --pull=false --no-cache --force-rm=true \
+            --build-arg BRANCH=${{branch}} \
+            -t {repo}/functest-kubernetes-{container}:{tag} .
+
+- project:
+    name: '{repo}-functest-kubernetes-{container}-{tag}-build'
+    container:
+      - core
+      - healthcheck
+      - smoke
+      - features
+    jobs:
+      - '{repo}-functest-kubernetes-{container}-{tag}-build'
+
+- job-template:
+    name: '{repo}-functest-kubernetes-{tag}-build'
+    project-type: multijob
+    <<: *functest-kubernetes-buildparameters
+    builders:
+      - multijob:
+          name: build functest-kubernetes-core
+          projects:
+            - name: '{repo}-functest-kubernetes-core-{tag}-build'
+              <<: *functest-kubernetes-projectparameters
+      - multijob:
+          name: build functest-kubernetes-healthcheck
+          projects:
+            - name: '{repo}-functest-kubernetes-healthcheck-{tag}-build'
+              <<: *functest-kubernetes-projectparameters
+      - multijob:
+          name: build all remaining contrainers
+          projects:
+            - name: '{repo}-functest-kubernetes-smoke-{tag}-build'
+              <<: *functest-kubernetes-projectparameters
+            - name: '{repo}-functest-kubernetes-features-{tag}-build'
+              <<: *functest-kubernetes-projectparameters
+
+- project:
+    name: '{repo}-functest-kubernetes-{tag}-build'
+    jobs:
+      - '{repo}-functest-kubernetes-{tag}-build'
+
+- job-template:
+    name: '{repo}-functest-kubernetes-{tag}-gate'
+    project-type: multijob
+    <<: *functest-kubernetes-buildparameters
+    builders:
+      - multijob:
+          name: build containers
+          projects:
+            - name: '{repo}-functest-kubernetes-{tag}-build'
+              <<: *functest-kubernetes-projectparameters
+      - multijob:
+          name: basics tests
+          projects:
+            - name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+      - multijob:
+          name: advanced tests
+          projects:
+            - name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+            - name: '{repo}-functest-kubernetes-features-{tag}-run'
+
+- project:
+    name: '{repo}-functest-kubernetes-{tag}-gate'
+    jobs:
+      - '{repo}-functest-kubernetes-{tag}-gate'
diff --git a/ci/globals.yaml b/ci/globals.yaml
new file mode 100644 (file)
index 0000000..805852a
--- /dev/null
@@ -0,0 +1,10 @@
+---
+- defaults:
+    name: global
+    repo: 'opnfv'
+    branch: 'master'
+    tag: 'latest'
+
+- defaults:
+    name: functest-kubernetes-defaults
+    prefix: '/home/opnfv/functest'
diff --git a/ci/run.yaml b/ci/run.yaml
new file mode 100644 (file)
index 0000000..4bdd4d3
--- /dev/null
@@ -0,0 +1,80 @@
+---
+- job-template:
+    name: '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+    defaults: 'functest-kubernetes-defaults'
+    builders:
+      - shell: |
+          docker run \
+            -e DEPLOY_SCENARIO=k8s \
+            -v \
+            {prefix}/results/$JOB_NAME-$BUILD_ID:/home/opnfv/functest/results \
+            -v {prefix}/config:/root/.kube/config \
+            {repo}/functest-kubernetes-{container}:{tag} run_tests -t {test}
+
+- project:
+    name: '{repo}-functest-kubernetes-healthcheck-{test}-{tag}-run'
+    container: healthcheck
+    test:
+      - k8s_smoke
+    jobs:
+      - '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+
+- job-template:
+    name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+    project-type: multijob
+    builders:
+      - multijob:
+          name: healthcheck
+          projects:
+            - name: '{repo}-functest-kubernetes-healthcheck-k8s_smoke-{tag}-run'
+
+- project:
+    name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+    jobs:
+      - '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+
+- project:
+    name: '{repo}-functest-kubernetes-smoke-{test}-{tag}-run'
+    container: smoke
+    test:
+      - k8s_conformance
+    jobs:
+      - '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+
+- job-template:
+    name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+    project-type: multijob
+    builders:
+      - multijob:
+          name: smoke
+          projects:
+            - name: '{repo}-functest-kubernetes-smoke-k8s_conformance-{tag}-run'
+
+- project:
+    name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+    jobs:
+      - '{repo}-functest-kubernetes-smoke-{tag}-run'
+
+- project:
+    name: '{repo}-functest-kubernetes-features-{test}-{tag}-run'
+    container: features
+    test:
+      - stor4nfv_k8s
+      - clover_k8s
+    jobs:
+      - '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+
+- job-template:
+    name: '{repo}-functest-kubernetes-features-{tag}-run'
+    project-type: multijob
+    builders:
+      - multijob:
+          name: features
+          projects:
+            - name: '{repo}-functest-kubernetes-features-stor4nfv_k8s-{tag}-run'
+            - name: '{repo}-functest-kubernetes-features-clover_k8s-{tag}-run'
+
+- project:
+    name: '{repo}-functest-kubernetes-features-{tag}-run'
+    jobs:
+      - '{repo}-functest-kubernetes-features-{tag}-run'
diff --git a/tox.ini b/tox.ini
index c4331d6..098556d 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -32,6 +32,7 @@ commands =
 basepython = python2.7
 files =
   .travis.yml
+  ci
   docker
 commands =
   yamllint {[testenv:yamllint]files}