Skip to content
Snippets Groups Projects
Select Git revision
  • 0600cc0898a231edf1c57bc890e7cb59609cd25c
  • master default
  • rtde
  • tmp-gpg-key-workaround-2
  • tmp-gpg-key-workaround
  • 68-git-lfs-error-in-ddeploy-job
  • split-build-and-test
  • 66-jazzy-support
  • 62-deploy-jobs-do-not-pull-files-from-lfs-manual-lfs-pull
  • 62-deploy-jobs-do-not-pull-files-from-lfs-custom-docker-image
  • py3-without-industrial-ci-test
  • 58-add-yolo-pip-package-support
  • 55-collision-between-test-jobs-due-to-dds-autodiscovery-ros2
  • 52-ddeploy-job-failing-when-enforcing-labels-alt-quick-dind-test
  • 48-python3_syntax
  • 46-default-docker-image-name-too-long
  • 45-double-pipeline-triggered-if-merge-request-has-melodic-branch-name
  • 40-repo-is-ros-testing
  • test-badges
  • test-lfs-concept
  • add-packages
21 results

syntax-check.yml

Blame
  • syntax-check.yml 3.37 KiB
    ##########################################################
    ## 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:
      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