- job-template:
# Job template for python verify jobs
#
- # The purpose of this job template is to run tox for projects using this
- # template.
+ # The purpose of this job template is to run:
+ # 1. tox
+ #
+ # This job supports subprojects.
#
# Required Variables:
# branch: git branch (eg. stable/lithium or master)
# pattern: ant file-path pattern relative to the workspace used to
# trigger the job
- name: '{project-name}-{stream}-{subproject}-verify-python'
- path: '$WORKSPACE'
+ name: "{project-name}-{stream}-{subproject}-verify-python"
+ path: "$WORKSPACE"
project-type: freestyle
concurrent: true
- node: '{build-node}'
+ node: "{build-node}"
properties:
- infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
+ project: "{project}"
+ branch: "{branch}"
+ refspec: "refs/heads/{branch}"
+ artifacts: "{archive-artifacts}"
- maven-exec:
- maven-version: '{maven-version}'
+ maven-version: "{maven-version}"
scm:
- gerrit-trigger-scm:
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
- submodule-recursive: '{submodule-recursive}'
+ refspec: "$GERRIT_REFSPEC"
+ choosing-strategy: "gerrit"
+ submodule-recursive: "{submodule-recursive}"
wrappers:
- infra-wrappers:
- build-timeout: '{build-timeout}'
+ build-timeout: "{build-timeout}"
triggers:
- gerrit-trigger-patch-submitted:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
- files: '{pattern}'
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ files: "{pattern}"
builders:
+ - lf-infra-pre-build
- provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
+ global-settings-file: "global-settings"
+ settings-file: "{mvn-settings}"
- shell: |
#!/bin/bash
- virtualenv $WORKSPACE/venv-tox
- source $WORKSPACE/venv-tox/bin/activate
- pip install --upgrade pip
- pip install --upgrade tox argparse
- pip freeze
- cd $WORKSPACE/{path}
- tox
-
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
+ # shellcheck disable=SC1090
+ source ~/lf-env.sh
-- job-template:
- name: '{project-name}-{stream}-docker-shell-daily'
- project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
-
- properties:
- - infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ lf-activate-venv --python python3.8 --venv-file /tmp/.toxenv \
+ tox virtualenv argparse webtest
- parameters:
- - infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - maven-exec:
- maven-version: '{maven-version}'
+ if [[ -d /opt/pyenv ]]; then
+ echo "---> Setting up pyenv"
+ export PYENV_ROOT="/opt/pyenv"
+ export PATH="$PYENV_ROOT/bin:$PATH"
+ PYTHONPATH="$(pwd)"
+ export PYTHONPATH
+ export TOX_TESTENV_PASSENV=PYTHONPATH
+ fi
- scm:
- - gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
+ python -m pip install --upgrade pip
- wrappers:
- - infra-wrappers:
- build-timeout: '{build-timeout}'
+ # Useful debugging
+ python --version
+ python -m pip freeze
+ tox --version
- triggers:
- # 12 AM UTC
- - timed: 'H 12 * * *'
- - gerrit-trigger-release-manually:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
-
- builders:
-
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
-
- - docker-login
-
- - shell: |
- cp $WORKSPACE/docker/* .
- docker -D build -t openecomp/testsuite .
- export REPO="nexus3.onap.org:10003"
- docker tag openecomp/testsuite:latest $REPO/openecomp/testsuite:1.0-STAGING-latest
- docker push $REPO/openecomp/testsuite:1.0-STAGING-latest
+ cd $WORKSPACE/{path}
+ tox
publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
+ - lf-infra-publish
- job-template:
- name: '{project-name}-{stream}-2scm-docker-shell-daily'
- project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
-
- properties:
- - infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- parameters:
- - infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - maven-exec:
- maven-version: '{maven-version}'
-
- scm:
- - gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
- - git-extra-project:
- project: '{extra-project1}'
- refspec: '{extra-refspec1}'
- branch: '{extra-branch1}'
- checkout-dir: '{checkout-dir1}'
- - git-extra-project:
- project: '{extra-project2}'
- refspec: '{extra-refspec2}'
- branch: '{extra-branch2}'
- checkout-dir: '{checkout-dir2}'
-
- wrappers:
- - infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- # 12 AM UTC
- - timed: 'H 12 * * *'
- - gerrit-trigger-release-manually:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
-
- builders:
-
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
-
- - inject:
- properties-file: version.properties
-
- - docker-login
-
- - shell: '{script}'
-
- publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
+ # Job template for docker daily jobs for 3 SCMs
+ #
+ # The purpose of this job template is to run:
+ # 1. inject a version properties file
+ # 2. login into the docker registry
+ # 4. run a specified shell script
+ #
+ # Required Variables:
+ # branch: git branch (eg. stable/lithium or master)
-- job-template:
- name: '{project-name}-{stream}-3scm-docker-shell-daily'
+ name: "{project-name}-{stream}-3scm-docker-shell-daily"
project-type: freestyle
- node: 'ubuntu1604-docker-8c-8g'
+ node: "queue-docker-4c-4g"
properties:
- infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ build-days-to-keep: "{build-days-to-keep}"
parameters:
- infra-parameters:
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
+ project: "{project}"
+ branch: "{branch}"
+ refspec: "refs/heads/{branch}"
+ artifacts: "{archive-artifacts}"
- maven-exec:
- maven-version: '{maven-version}'
-
+ maven-version: "{maven-version}"
scm:
- gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
- submodule-recursive: '{submodule-recursive}'
- - git-extra-project:
- project: '{extra-project1}'
- refspec: '{extra-refspec1}'
- branch: '{extra-branch1}'
- checkout-dir: '{checkout-dir1}'
- - git-extra-project:
- project: '{extra-project2}'
- refspec: '{extra-refspec2}'
- branch: '{extra-branch2}'
- checkout-dir: '{checkout-dir2}'
- - git-extra-project:
- project: '{extra-project3}'
- refspec: '{extra-refspec3}'
- branch: '{extra-branch3}'
- checkout-dir: '{checkout-dir3}'
+ refspec: ""
+ choosing-strategy: "default"
+ submodule-recursive: "{submodule-recursive}"
wrappers:
- - infra-wrappers:
- build-timeout: '{build-timeout}'
+ - infra-wrappers-docker-build:
+ build-timeout: "{build-timeout}"
triggers:
- # 12 AM UTC
- - timed: 'H 12 * * *'
+ - timed: "H */4 * * *"
- gerrit-trigger-release-manually:
- server: '{server-name}'
- project: '{project}'
- branch: '{branch}'
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ - gerrit-trigger-patch-merged:
+ server: "{server-name}"
+ project: "{project}"
+ branch: "{branch}"
+ files: "**"
builders:
-
+ - lf-infra-pre-build
- provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: '{mvn-settings}'
-
+ global-settings-file: "global-settings"
+ settings-file: "{mvn-settings}"
- inject:
properties-file: version.properties
-
- docker-login
-
- - shell: '{script}'
+ - shell: "{script}"
publishers:
- - infra-shiplogs:
- maven-version: '{maven-version}'
-
+ - lf-infra-publish