Pin Flake8 to 2.6.2 for python linting
[releng.git] / jjb / releng-macros.yaml
index 23d174a..c14ea6c 100644 (file)
             fail: true
 
 - trigger:
-    name: 'brahmaputra-trigger-daily-disabled'
+    name: 'daily-trigger-disabled'
+    triggers:
+        - timed: ''
+
+- trigger:
+    name: 'weekly-trigger-disabled'
     triggers:
         - timed: ''
 
             set -o errexit
             set -o xtrace
             export PATH=$PATH:/usr/local/bin/
-            git clone ssh://gerrit.opnfv.org:29418/releng
-            GERRIT_COMMENT=gerrit_comment.txt ./releng/utils/docs-build.sh
+            git clone ssh://gerrit.opnfv.org:29418/opnfvdocs docs_build/_opnfvdocs
+            GERRIT_COMMENT=gerrit_comment.txt ./docs_build/_opnfvdocs/scripts/docs-build.sh
 
 - builder:
     name: upload-under-review-docs-to-opnfv-artifacts
                 ssh -p 29418 gerrit.opnfv.org \
                     "gerrit review -p $GERRIT_PROJECT \
                      -m '$(cat gerrit_comment.txt)' \
-                     $GERRIT_PATCHSET_REVISION"
+                     $GERRIT_PATCHSET_REVISION \
+                     --notify NONE"
             fi
 
 - builder:
             source $WORKSPACE/releng_flake8/bin/activate
 
             # install python packages
-            pip install flake8
+            pip install "flake8==2.6.2"
 
             # generate and upload lint log
             echo "Running flake8 code on $PROJECT ..."
 
-            echo -e "Flake8 Violations\n-----------------" >> lint.log
-            find . \
+            # Get number of flake8 violations. If none, this will be an
+            # empty string: ""
+            FLAKE_COUNT="$(find . \
                 -path './releng_flake8' -prune -o \
+                -path './.tox' -prune -o \
                 -type f -name "*.py" -print | \
-                xargs flake8 --exit-zero --first >> lint.log
+                xargs flake8 --exit-zero -qq --count 2>&1)"
+
+            # Ensure we start with a clean environment
+            rm -f lint.log
+
+            if [ ! -z $FLAKE_COUNT ]; then
+              echo "Flake8 Violations: $FLAKE_COUNT" > lint.log
+              find . \
+                  -path './releng_flake8' -prune -o \
+                  -path './.tox' -prune -o \
+                  -type f -name "*.py" -print | \
+                  xargs flake8 --exit-zero --first >> violation.log
+              SHOWN=$(wc -l violation.log | cut -d' ' -f1)
+              echo -e "First $SHOWN shown\n---" >> lint.log
+              cat violation.log >> lint.log
+              sed -r -i '4,$s/^/ /g' lint.log
+              rm violation.log
+            fi
 
             deactivate
 
             set -o pipefail
             set -o xtrace
             export PATH=$PATH:/usr/local/bin/
+
+            # If no violations were found, no lint log will exist.
             if [[ -e lint.log ]] ; then
-                sed -r -i 's/^/ /g' lint.log
                 echo -e "\nposting linting report to gerrit...\n"
+
                 cat lint.log
                 echo
+
                 ssh -p 29418 gerrit.opnfv.org \
                     "gerrit review -p $GERRIT_PROJECT \
                      -m \"$(cat lint.log)\" \
-                     $GERRIT_PATCHSET_REVISION"
+                     $GERRIT_PATCHSET_REVISION \
+                     --notify NONE"
+
+                exit 1
             fi
 
 - builder:
         - upload-generated-docs-to-opnfv-artifacts
         - report-docs-build-result-to-gerrit
         - remove-old-docs-from-opnfv-artifacts
+
+- builder:
+    name: check-bash-syntax
+    builders:
+        - shell: "find . -name '*.sh' | xargs bash -n"