X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng%2Freleng-jobs.yaml;h=23f5d91e14c80a863715cc14e18be72a1dddf42d;hb=fcfc7252a90324c9328fdd77f6288e6c4fae7d88;hp=c4d7b432e43cf4d4ceee7e3348f1424da17bb19a;hpb=15a5191850c73f444e6266b9e59fc52de5f8fa41;p=releng.git diff --git a/jjb/releng/releng-jobs.yaml b/jjb/releng/releng-jobs.yaml index c4d7b432e..23f5d91e1 100644 --- a/jjb/releng/releng-jobs.yaml +++ b/jjb/releng/releng-jobs.yaml @@ -3,7 +3,7 @@ name: releng-scm scm: - git: - url: 'https://gerrit.opnfv.org/gerrit/releng' + url: 'ssh://fbot@gerrit.opnfv.org:29418/releng' refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*' submodule: recursive: true @@ -51,7 +51,7 @@ -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/ + jenkins-jobs test --recursive -o tmp jjb rm -rf tmp - builder: @@ -63,7 +63,7 @@ -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/ + jenkins-jobs update --recursive --delete-old jjb - parameter: name: releng-jjb-node @@ -182,25 +182,18 @@ - project: name: releng-release-jobs stream: - - fraser - - gambia - - hunter - - iruya - - jerma - - kali - - leguer - - lakelse - - moselle - nile - - v1.21 + - orinoco - v1.22 - v1.23 - v1.24 - v1.25 + - v1.26 - xena - wallaby - yoga - zed + - '2023.1' jobs: - 'releng-release-{stream}-verify' - 'releng-release-{stream}-merge' @@ -222,6 +215,9 @@ 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' @@ -260,16 +256,17 @@ - job-template: name: 'releng-release-{stream}-merge' - triggers: - - releng-patchset-merged scm: - releng-scm: - ref: master + 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: @@ -296,24 +293,200 @@ - 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: releng-debug + name: lint-yaml-code builders: - shell: | - ls -l ~/.ssh - cat ~/.ssh/id_rsa - cat ~/.ssh/id_rsa.pub + #!/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-debug + name: releng-generate-artifacts-index-pages + scm: + - releng-scm: + ref: master parameters: - - xtesting-debug-slave: - slave: lf-build6 + - releng-jjb-node: + node: opnfv-build + triggers: + - timed: '@daily' builders: - - releng-debug + - 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-debug' + name: releng-artifact-cleanup jobs: - - 'releng-debug' \ No newline at end of file + - 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