Newer
Older
image: docker:git
variables:
TMPDIR: "/builds/${CI_PROJECT_NAMESPACE}"
GIT_LFS_SKIP_SMUDGE: "1" # Avoid fetching the files from LFS when doing git fetch
services:
- docker:dind
stages:
- precheck
- build
- postcheck
before_script:
- apk add --update bash coreutils tar wget python
Prada Sarasola, Miguel
committed
.industrial_ci_kinetic:
stage: build
before_script:
- apk add --update bash coreutils tar
- git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
- docker login ${ARTIFACT_DOCKER_URL} -u ${ARTIFACT_CI_USER} -p ${ARTIFACT_CI_TOKEN}
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
DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel"
Prada Sarasola, Miguel
committed
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 --'
when: always
Prada Sarasola, Miguel
committed
industrial_ci_kinetic:
extends: .industrial_ci_kinetic
Prada Sarasola, Miguel
committed
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"
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