.gitlab-industrial-ci-kinetic-no-rosinstall.yml 3.94 KB
Newer Older
1 2 3
image: docker:git

variables:
4
  TMPDIR: "/builds/${CI_PROJECT_NAMESPACE}"
5
  GIT_LFS_SKIP_SMUDGE: "1" # Avoid fetching the files from LFS when doing git fetch
6 7 8 9 10 11 12 13 14 15 16 17

services:
  - docker:dind

stages:
  - precheck
  - build
  - postcheck

before_script:
  - apk add --update bash coreutils tar wget python

18
.industrial_ci_kinetic:
19 20 21 22
  stage: build
  before_script:
    - apk add --update bash coreutils tar
    - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
Jon Azpiazu's avatar
Jon Azpiazu committed
23
    - docker login ${ARTIFACT_DOCKER_URL} -u ${ARTIFACT_CI_USER} -p ${ARTIFACT_CI_TOKEN}
24 25 26 27
  script: .ci_config/gitlab.sh
  variables:
    ROS_DISTRO: kinetic
    ROS_PARALLEL_JOBS: "-j2" # keep this for now, since there seems to be memory limit issues in the ci VM
28
    DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel"
29 30
    BEFORE_SCRIPT: "wget -q -O - https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/ci_run_entry_points.sh | bash"
    CATKIN_CONFIG: '--cmake-args -DCMAKE_CXX_FLAGS=-Wno-ignored-attributes -Wno-int-in-bool-context --'
31 32
  when: always

33 34
industrial_ci_kinetic:
  extends: .industrial_ci_kinetic
35 36
  except:
    - tags
37

38 39 40 41
industrial_ci_kinetic_deploy:
  extends: .industrial_ci_kinetic
  variables:
    AFTER_SCRIPT: "wget -q -O - https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/deploy-image-build/scripts/pre-deploy-cleanup.bash | bash"
42
    DOCKER_COMMIT: industrial_ci_image
43 44 45 46 47 48 49 50 51
  after_script:
    - cd $(mktemp -d)
    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/deploy-image-build/deploy/Dockerfile
    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/deploy-image-build/deploy/ros_entrypoint.bash
    - docker build -t ${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} .
    - docker push ${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}
  only:
    - tags

52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
##########################################################
## 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:
  stage: precheck
  script: python -m compileall -q .
  when: always

##########################################################
## Check for errors in bash/sh scripts
## Uses https://github.com/cytopia/awesome-ci
##########################################################
bash_syntax:
  stage: postcheck
  script:
    - RET=0
    - docker run -v ${PWD}:/ac cytopia/awesome-ci syntax-sh --path=/ac --extension=sh --ignore=.ci_config || RET=1
    - docker run -v ${PWD}:/ac cytopia/awesome-ci syntax-bash --path=/ac --extension=bash --ignore=.ci_config || RET=1
    - exit $RET
  allow_failure: yes
  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: postcheck
  script: docker run -v ${PWD}:/ac cytopia/awesome-ci syntax-markdown --path=/ac --extension=md --ignore=.ci_config --custom="-r ~MD013"
  allow_failure: yes
  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: postcheck
  script:
    - RET=0
    - docker run -v ${PWD}:/ac 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 cytopia/awesome-ci file-utf8 --path=/ac --extension=py,txt,cpp,h,md,sh,bash,xml,launch --ignore=.ci_config || RET=1
    - exit $RET
  allow_failure: yes
  when: always