diff options
-rw-r--r-- | ci/daily.yaml | 53 | ||||
-rw-r--r-- | ci/gate.yaml | 96 | ||||
-rw-r--r-- | ci/globals.yaml | 10 | ||||
-rw-r--r-- | ci/run.yaml | 80 | ||||
-rw-r--r-- | tox.ini | 1 |
5 files changed, 240 insertions, 0 deletions
diff --git a/ci/daily.yaml b/ci/daily.yaml new file mode 100644 index 00000000..fad26e77 --- /dev/null +++ b/ci/daily.yaml @@ -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 index 00000000..2efea236 --- /dev/null +++ b/ci/gate.yaml @@ -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 index 00000000..805852a5 --- /dev/null +++ b/ci/globals.yaml @@ -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 index 00000000..4bdd4d3e --- /dev/null +++ b/ci/run.yaml @@ -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' @@ -32,6 +32,7 @@ commands = basepython = python2.7 files = .travis.yml + ci docker commands = yamllint {[testenv:yamllint]files} |