.gitlab-industrial-ci-kinetic-with-rosinstall.yml 4.36 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
23
    - docker login ${ARTIFACT_DOCKER_URL} -u ${ARTIFACT_CI_USER} -p ${ARTIFACT_CI_TOKEN}
24
25
26
27
28
29
  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
    UPSTREAM_WORKSPACE: file
    ROSINSTALL_FILENAME: ".rosinstall"
30
    DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel"
31
    BEFORE_SCRIPT: "wget -q -O - https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/ci_run_entry_points.sh | bash"
Jon Azpiazu's avatar
Jon Azpiazu committed
32
    CATKIN_CONFIG: '--cmake-args -DCMAKE_CXX_FLAGS=-Wno-ignored-attributes -Wno-int-in-bool-context --'
33
34
  when: always

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

40
41
42
industrial_ci_kinetic_deploy:
  extends: .industrial_ci_kinetic
  variables:
43
    AFTER_SCRIPT: "wget -q -O - https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/pre-deploy-cleanup.bash | bash"
44
    DOCKER_COMMIT: industrial_ci_image
45
46
  script:
    - .ci_config/gitlab.sh
47
    - cd $(mktemp -d)
48
49
50
    - 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
51
    - chmod a+x ros_entrypoint.bash
52
53
    - 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}
54
55
56
57
58
    - 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 ..
59
60
61
  only:
    - tags

62
63
64
65
66
67
68
69
70
71
##########################################################
## 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

##########################################################
72
## Check for errors in bash/sh scripts
73
74
75
76
## Uses https://github.com/cytopia/awesome-ci
##########################################################
bash_syntax:
  stage: postcheck
77
78
79
80
81
  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
82
83
84
85
86
87
  allow_failure: yes
  when: always

##########################################################
## Check for errors in markdown files
## Uses https://github.com/cytopia/awesome-ci
88
89
90
## 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
91
92
93
##########################################################
markdown_syntax:
  stage: postcheck
94
  script: docker run -v ${PWD}:/ac cytopia/awesome-ci syntax-markdown --path=/ac --extension=md --ignore=.ci_config --custom="-r ~MD013"
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  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