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

variables:
4 5
  TMPDIR: /builds/${CI_PROJECT_NAMESPACE}
  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
  script: .ci_config/gitlab.sh
  variables:
26
    ADDITIONAL_DEBS: curl
27
    ROS_DISTRO: kinetic
28 29 30 31
    ROS_PARALLEL_JOBS: -j2 # keep this for now, since there seems to be memory limit issues in the ci VM
    DOCKER_IMAGE: ${ARTIFACT_DOCKER_URL}/flexbotics-base-devel
    BEFORE_SCRIPT: bash <(curl -Ls https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/ci_run_entry_points.sh) $$CATKIN_WORKSPACE
    CMAKE_ARGS: -DCMAKE_CXX_FLAGS=-Wno-ignored-attributes -Wno-int-in-bool-context
32 33
  when: always

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

39 40 41
industrial_ci_kinetic_deploy:
  extends: .industrial_ci_kinetic
  variables:
42
    AFTER_SCRIPT: wget -q -O - https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/pre-deploy-cleanup.bash | bash
43
    DOCKER_COMMIT: industrial_ci_image
44 45
  script:
    - .ci_config/gitlab.sh
46
    - cd $(mktemp -d)
47 48 49
    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/-/archive/master/gitlab_templates-master.zip
    - unzip gitlab_templates-master.zip && cd gitlab_templates-master/deploy
    - cd base
50
    - chmod a+x ros_entrypoint.bash
51 52
    - docker build -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} .
    - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}
53 54 55 56 57
    - cd ..
    - cd dev
    - docker build --build-arg APPLICATION_IMAGE=${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} -t ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev .
    - docker push ${ARTIFACT_DOCKER_URL}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}-dev
    - cd ..
58 59 60
  only:
    - tags

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 103 104 105 106 107 108 109 110 111
##########################################################
## 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