-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
83 lines (72 loc) · 1.72 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
variables:
ROS_PACKAGES_TO_INSTALL: "serial"
SYSTEM_DEPENDENCIES_TO_INSTALL: ""
GLOBAL_C11: "true"
# Scripts to run before lint stage
.lint_before_script: &lint_before_script
before_script:
- git clone https://gitlab.com/shrijitsingh99/manas-gitlab-ci.git
- source manas-gitlab-ci/install-dependencies.bash
# Scripts to run before ROS build stage
.ros_before_script: &ros_before_script
before_script:
- git clone https://gitlab.com/VictorLamoine/ros_gitlab_ci.git
- source ros_gitlab_ci/gitlab-ci.bash >/dev/null
# CI Stages
stages:
- build
- lint
# Cache previous builds
cache:
paths:
- ccache/
# yapf
yapf:
stage: lint
image: projectmanas/yapf:latest
<<: *lint_before_script
script:
- ./manas-gitlab-ci/yapf.bash
# clang-format
clang-format:
stage: lint
image: projectmanas/clang-format:3.9
<<: *lint_before_script
script:
- ./manas-gitlab-ci/clang-format.bash
# catkin_lint
catkin-lint:
stage: lint
image: ros:melodic-ros-core
<<: *ros_before_script
before_script:
- apt update >/dev/null 2>&1
- apt install -y python-catkin-lint >/dev/null 2>&1
script:
- catkin_lint -W3 .
# Tests for Melodic
melodic-catkin_make:
image: ros:melodic-ros-core
stage: build
<<: *ros_before_script
script:
- catkin_make
melodic-catkin_build:
image: ros:melodic-ros-core
stage: build
<<: *ros_before_script
script:
- catkin build --summarize --no-status --force-color
# Tests for Kinetic
kinetic-catkin_make:
image: ros:kinetic-ros-core
stage: build
<<: *ros_before_script
script:
- catkin_make
kinetic-catkin_build:
image: ros:kinetic-ros-core
stage: build
<<: *ros_before_script
script:
- catkin build --summarize --no-status --force-color