diff --git a/ci-templates/syntax-check.yml b/ci-templates/syntax-check.yml index 4ecbab1babd74ebe91e994d87927962bca9986c2..3c413c258e9a4392bc67d8d081558080174dc748 100644 --- a/ci-templates/syntax-check.yml +++ b/ci-templates/syntax-check.yml @@ -16,16 +16,43 @@ clang_format: when: always ########################################################## -## Simple check for basic Python syntax errors; this is much less thorough than -## other options like pylint, but much faster and less strict +## Several Python checks ########################################################## -python_syntax: - image: alpine:3.15 # python2 is no longer available in alpine:3.16 - before_script: - - apk add --update python2 - stage: build - script: python -m compileall -q . - when: always +flake8: + stage: .post + image: python:3-alpine + before_script: + - pip3 install flake8 + script: + - flake8 --max-line-length 120 --statistics --show-source . + tags: + - docker + when: always + +flake8_extended: + stage: .post + image: python:3-alpine + before_script: + - pip3 install flake8 flake8-isort flake8-builtins flake8-eradicate flake8-functions-names flake8-return flake8-functions + script: + - flake8 --max-line-length 120 --statistics --show-source . + tags: + - docker + when: always + allow_failure: true + +python_security: + stage: .post + image: python:3-alpine + before_script: + - pip3 install bandit safety + script: + - bandit -r . || RET=1 + - safety check || RET=1 + - exit $RET + tags: + - docker + when: always ########################################################## ## Check for errors in bash/sh scripts