--- - scm: name: releng-scm scm: - git: url: 'ssh://fbot@gerrit.opnfv.org:29418/releng' refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*' submodule: recursive: true branches: - '{ref}' - trigger: name: releng-patchset-created triggers: - gerrit: trigger-on: - patchset-created-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: 'releng' branches: - branch-compare-type: 'ANT' branch-pattern: 'master' - trigger: name: releng-patchset-merged triggers: - gerrit: trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: 'releng' branches: - branch-compare-type: 'ANT' branch-pattern: 'master' - builder: name: releng-jjb-verify builders: - shell: | sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 dist-upgrade -y sudo DEBIAN_FRONTEND=noninteractive \ apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y jenkins-jobs test --recursive -o tmp jjb rm -rf tmp - builder: name: releng-jjb-merge builders: - shell: | sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 dist-upgrade -y sudo DEBIAN_FRONTEND=noninteractive \ apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y jenkins-jobs update --recursive --delete-old jjb - parameter: name: releng-jjb-node parameters: - label: name: node default: '{node}' - job-template: name: releng-jjb-verify triggers: - releng-patchset-created scm: - releng-scm: ref: $GERRIT_REFSPEC parameters: - releng-jjb-node: node: opnfv-build builders: - releng-jjb-verify - project: name: releng-jjb-verify jobs: - releng-jjb-verify - job-template: name: releng-jjb-merge triggers: - releng-patchset-merged scm: - releng-scm: ref: master parameters: - releng-jjb-node: node: opnfv-build builders: - releng-jjb-merge - project: name: releng-jjb-merge jobs: - releng-jjb-merge - scm: name: opnfv-scm scm: - git: url: 'https://gerrit.opnfv.org/gerrit/{project}' refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*' submodule: recursive: true branches: - '{ref}' - trigger: name: releng-tox-patchset-created triggers: - gerrit: trigger-on: - patchset-created-event - comment-added-contains-event: comment-contains-value: recheck - comment-added-contains-event: comment-contains-value: reverify server-name: gerrit.opnfv.org projects: - project-compare-type: 'REG_EXP' project-pattern: '^(?!functest).*' branches: - branch-compare-type: 'ANT' branch-pattern: master - branch-compare-type: 'ANT' branch-pattern: stable/nile - branch-compare-type: 'ANT' branch-pattern: stable/moselle - builder: name: releng-tox builders: - shell: | [ -f tox.ini ] || exit 0 sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 dist-upgrade -y sudo DEBIAN_FRONTEND=noninteractive \ apt-get -o DPkg::Lock::Timeout=300 install tox -y tox --recreate - parameter: name: releng-tox-node parameters: - label: name: node default: '{node}' - job-template: name: releng-tox triggers: - releng-tox-patchset-created scm: - opnfv-scm: ref: $GERRIT_REFSPEC project: $GERRIT_PROJECT parameters: - releng-tox-node: node: opnfv-build builders: - releng-tox - project: name: releng-tox jobs: - releng-tox - project: name: releng-release-jobs stream: - nile - orinoco - v1.22 - v1.23 - v1.24 - v1.25 - v1.26 - v1.27 - v1.28 - v1.29 - xena - wallaby - yoga - zed - '2023.1' - '2023.2' jobs: - 'releng-release-{stream}-verify' - 'releng-release-{stream}-merge' - parameter: name: stream-parameter parameters: - string: name: STREAM default: '{stream}' - job-template: name: 'releng-release-{stream}-verify' scm: - releng-scm: ref: $GERRIT_REFSPEC parameters: - releng-jjb-node: node: opnfv-build - stream-parameter: stream: '{stream}' - string: name: GIT_URL default: ssh://fbot@gerrit.opnfv.org:29418/ triggers: - gerrit: server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: 'releng' branches: - branch-compare-type: 'ANT' branch-pattern: '**/master' file-paths: - compare-type: ANT pattern: 'releases/{stream}/**' - compare-type: ANT pattern: 'releases/schema.yaml' - compare-type: ANT pattern: 'releases/scripts/verify_schema.py' builders: - shell: | sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 dist-upgrade -y sudo DEBIAN_FRONTEND=noninteractive \ apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \ python3-ruamel.yaml -y - shell: !include-raw-escape: - branch-or-tag.sh - job-template: name: 'releng-release-{stream}-merge' scm: - releng-scm: ref: $GERRIT_REFSPEC parameters: - releng-jjb-node: node: opnfv-build - stream-parameter: stream: '{stream}' - string: name: GIT_URL default: ssh://fbot@gerrit.opnfv.org:29418/ triggers: - gerrit: trigger-on: - change-merged-event - comment-added-contains-event: comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' project-pattern: 'releng' branches: - branch-compare-type: 'ANT' branch-pattern: 'master' file-paths: - compare-type: ANT pattern: 'releases/{stream}/**' builders: - shell: | sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 dist-upgrade -y sudo DEBIAN_FRONTEND=noninteractive \ apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \ python3-ruamel.yaml -y - shell: !include-raw-escape: - branch-or-tag.sh - builder: name: lint-init builders: - shell: | #!/bin/bash # Ensure we start with a clean environment rm -f bash-violation.log python-violation.log yaml-violation.log violation.log git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 > modified_files - builder: name: lint-report builders: - shell: | #!/bin/bash if [[ -s violation.log ]]; then cat violation.log echo "Reporting lint result...." set -x msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset." sed -i -e "1s#^#${msg}\n\n#" violation.log cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE" ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' -p 29418 fbot@gerrit.opnfv.org "$cmd" # Make sure the caller job failed exit 1 fi - builder: name: lint-bash-code builders: - shell: | #!/bin/bash echo "Checking bash code..." for f in $(egrep '\.sh$' modified_files) do bash -n "$f" 2>> bash-violation.log done if [[ -s bash-violation.log ]]; then echo -e "Bash syntax error(s)\n---" >> violation.log sed -e 's/^/ /g' bash-violation.log >> violation.log fi - builder: name: lint-python-code builders: - shell: | #!/bin/bash sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 dist-upgrade -y sudo DEBIAN_FRONTEND=noninteractive \ apt-get -o DPkg::Lock::Timeout=300 install flake8 -y echo "Checking python code..." for f in $(egrep '\.py$' modified_files) do flake8 "$f" >> python-violation.log done if [[ -s python-violation.log ]]; then echo -e "Python violation(s)\n---" >> violation.log sed -e 's/^/ /g' python-violation.log >> violation.log fi - builder: name: lint-yaml-code builders: - shell: | #!/bin/bash sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 dist-upgrade -y sudo DEBIAN_FRONTEND=noninteractive \ apt-get -o DPkg::Lock::Timeout=300 install yamllint -y echo "Checking yaml file..." for f in $(egrep '\.ya?ml$' modified_files) do yamllint "$f" >> yaml-violation.log done if [[ -s yaml-violation.log ]]; then echo -e "YAML violation(s)\n---" >> violation.log sed -e 's/^/ /g' yaml-violation.log >> violation.log fi - builder: name: lint-all-code builders: - lint-init - lint-bash-code - lint-python-code - lint-yaml-code - lint-report - project: name: releng-lint jobs: - 'releng-lint-verify' - job-template: name: 'releng-lint-verify' parameters: - releng-jjb-node: node: opnfv-build scm: - releng-scm: ref: $GERRIT_REFSPEC triggers: - gerrit: server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event - comment-added-contains-event: comment-contains-value: recheck - comment-added-contains-event: comment-contains-value: reverify projects: - project-compare-type: 'ANT' project-pattern: 'releng' branches: - branch-compare-type: 'ANT' branch-pattern: 'master' file-paths: - compare-type: ANT pattern: '**/*.py' - compare-type: ANT pattern: '**/*.sh' - compare-type: ANT pattern: '**/*.yml' - compare-type: ANT pattern: '**/*.yaml' builders: - lint-all-code - project: name: releng-generate-artifacts-index-pages jobs: - releng-generate-artifacts-index-pages - job-template: name: releng-generate-artifacts-index-pages scm: - releng-scm: ref: master parameters: - releng-jjb-node: node: opnfv-build triggers: - timed: '@daily' builders: - generate-artifact-html - builder: name: generate-artifact-html builders: - shell: | curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \ /etc/apt/sources.list.d/google-cloud-sdk.list sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 install \ google-cloud-sdk -y cd $WORKSPACE/utils/ ./artifacts.opnfv.org.sh - project: name: releng-artifact-cleanup jobs: - releng-artifact-cleanup - job-template: name: releng-artifact-cleanup scm: - releng-scm: ref: master parameters: - releng-jjb-node: node: opnfv-build triggers: - timed: '@daily' builders: - releng-artifact-cleanup - builder: name: releng-artifact-cleanup builders: - shell: | curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \ /etc/apt/sources.list.d/google-cloud-sdk.list sudo apt-get -o DPkg::Lock::Timeout=300 update && \ sudo DEBIAN_FRONTEND=noninteractive apt-get \ -o DPkg::Lock::Timeout=300 install \ google-cloud-sdk -y $WORKSPACE/utils/retention_script.sh