########################################################## ## Check formating of C and C++ files using clang-format ########################################################## clang_format: stage: .post before_script: - apk add --update bash coreutils tar wget - git clone --quiet --depth 1 https://github.com/ros-industrial/industrial_ci.git .ci_config -b legacy - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/clang-format -O .clang-format script: .ci_config/gitlab.sh variables: ROS_DISTRO: kinetic CLANG_FORMAT_CHECK: file CLANG_FORMAT_VERSION: "3.8" 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 ########################################################## 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 ########################################################## ## Check for errors in bash/sh scripts ## Uses https://github.com/koalaman/shellcheck ########################################################## bash_syntax: before_script: - apk add --update shellcheck stage: .post script: - RET=0 - find . -type f -name '*.sh' -exec shellcheck -s sh {} + || RET=1 - find . -type f -name '*.bash' -exec shellcheck -s bash {} + || RET=1 - exit $RET when: always ########################################################## ## Check for errors in markdown files ## Uses https://github.com/cytopia/awesome-ci ## Disables the line length rule with --custom="-r ..." ## See other rules that can be configured in ## https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md ########################################################## markdown_syntax: stage: .post script: docker run -v ${PWD}:/ac tecnalia-docker-dev.artifact.tecnalia.com/cytopia/awesome-ci syntax-markdown --path=/ac --extension=md --ignore=.ci_config --custom="-r ~MD013,~MD014" when: always ########################################################## ## Check for various syntax issues in files; currently ## trailing white spaces ## utf8 formatting ## Uses https://github.com/cytopia/awesome-ci ########################################################## file_syntax: stage: .post script: - RET=0 - docker run -v ${PWD}:/ac tecnalia-docker-dev.artifact.tecnalia.com/cytopia/awesome-ci file-trailing-space --path=/ac --extension=py,txt,cpp,h,md,sh,bash,xml,launch --ignore=.ci_config || RET=1 - docker run -v ${PWD}:/ac tecnalia-docker-dev.artifact.tecnalia.com/cytopia/awesome-ci file-utf8 --path=/ac --extension=py,txt,cpp,h,md,sh,bash,xml,launch --ignore=.ci_config || RET=1 - exit $RET when: always ########################################################## ## Check for errors in Asciidoctor files ## Could not find a proper linter for Asciidoctor format, ## so this is a custom-made "dirty" script ########################################################## adoc_syntax: stage: .post image: tecnalia-docker-dev.artifact.tecnalia.com/alpine before_script: - apk add --update curl asciidoctor bash script: - curl -Ls https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/asciidoctor_syntax_check.bash | bash -s -- . when: always