Initial commit
Add infrastructure jobs for sandbox
Related-PROD: RE-336
Change-Id: I2140d47e3fc360ab05f92175b29b31e69b2ec10b
diff --git a/common/pipelines/tox.groovy b/common/pipelines/tox.groovy
new file mode 100644
index 0000000..f0d8ccf
--- /dev/null
+++ b/common/pipelines/tox.groovy
@@ -0,0 +1,67 @@
+#!groovy
+
+def main() {
+ String gitUrl = "${env.GERRIT_SCHEME}://${env.GERRIT_HOST}:${env.GERRIT_PORT}/${env.GERRIT_PROJECT}"
+ String gitRef = env.GERRIT_REFSPEC
+
+ stage('SCM checkout') {
+ echo "Checking out git repository from ${gitUrl} @ ${gitRef}"
+
+ checkout \
+ $class: 'GitSCM',
+ branches: [[
+ name: 'FETCH_HEAD'
+ ]],
+ userRemoteConfigs: [[
+ url: gitUrl,
+ refspec: gitRef,
+ credentialsId: env.GIT_CREDENTIALS_ID
+ ]],
+ extensions: [[
+ $class: 'WipeWorkspace'
+ ]]
+ }
+
+ stage('tox') {
+ sh '''#!/bin/bash -ex
+ tox -v
+ '''
+
+ }
+}
+
+String podTpl = """
+ apiVersion: "v1"
+ kind: "Pod"
+ spec:
+ securityContext:
+ runAsUser: 1000
+ containers:
+ - name: "main"
+ image: "${env.DOCKER_IMAGE}"
+ command:
+ - "cat"
+ securityContext:
+ privileged: false
+ tty: true
+"""
+
+if (env.K8S_CLUSTER == 'unset') {
+ node(env.NODE_LABEL) {
+ docker.image(env.DOCKER_IMAGE).inside('--entrypoint=""') {
+ main()
+ }
+ }
+} else {
+ podTemplate(
+ cloud: env.K8S_CLUSTER,
+ yaml: podTpl,
+ showRawYaml: false
+ ) {
+ node(POD_LABEL) {
+ container('main') {
+ main()
+ }
+ }
+ }
+}