Skip to content
Snippets Groups Projects
Forked from tecnalia_robotics-public / templates
58 commits behind the upstream repository.
syntax-check.yml 3.51 KiB
variables:
  GITLAB_TEMPLATES_BRANCH: master

##########################################################
## Check formating of C and C++ files using clang-format
##########################################################
clang_format:
  stage: .post
  services:
    - name: tecnalia-docker-dev.artifact.tecnalia.com/docker:dind
      alias: docker
  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/${GITLAB_TEMPLATES_BRANCH}/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
  image: tecnalia-docker-dev.artifact.tecnalia.com/cytopia/awesome-ci
  script:
    - syntax-markdown --path=${PWD} --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: