forked from gazebosim/gz-sim
-
Notifications
You must be signed in to change notification settings - Fork 1
/
bitbucket-pipelines.yml
103 lines (102 loc) · 4.79 KB
/
bitbucket-pipelines.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
image: ubuntu:bionic
pipelines:
default:
- step:
script:
- apt-get update
- apt -y install wget lsb-release gnupg sudo curl
# Enable relevant package repositories
- docker/scripts/enable_ign_stable.sh
- docker/scripts/enable_ign_prerelease.sh
# Install base dependencies
- docker/scripts/install_common_deps.sh
- docker/scripts/enable_gcc8.sh
- docker/scripts/install_ign_deps.sh
# There are two methods to install ignition/osrf dependencies.
# The first method uses debians and the second builds dependencies
# from source. For each dependency, please use only one method.
# METHOD 1: Install the following debians
- apt-get install -y
libignition-cmake2-dev
libignition-math6-eigen3-dev
libignition-msgs5-dev
libignition-plugin-dev
libignition-tools-dev
libignition-transport8-dev
libsdformat9-dev
libignition-fuel-tools4-dev
libignition-physics2-dev
# libignition-common3-dev
# libignition-gui3-dev
# libignition-sensors3-dev
# libignition-rendering3-dev
# METHOD 2: Build from source
# Build dependencies from source using a given branch
# - docker/scripts/build_ign.sh ignitionrobotics ign-physics default
# - docker/scripts/build_ign.sh ignitionrobotics ign-fuel-tools default
- docker/scripts/build_ign.sh ignitionrobotics ign-common ign-common3
- docker/scripts/build_ign.sh ignitionrobotics ign-rendering default
- docker/scripts/build_ign.sh ignitionrobotics ign-gui default
- docker/scripts/build_ign.sh ignitionrobotics ign-sensors default
# Build Ignition Gazebo
- ./tools/clang_tidy.sh
- mkdir build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=coverage
- make -j1 install
- export IGN_CONFIG_PATH=/usr/local/share/ignition
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# run codecheck before tests so flaky tests don't obscure codecheck failures
- make codecheck
- export CTEST_OUTPUT_ON_FAILURE=1
- make test
- make coverage
# Use a special version of codecov for handling gcc8 output.
- bash <(curl -s https://raw.githubusercontent.com/codecov/codecov-bash/4678d212cce2078bbaaf5027af0c0dafaad6a095/codecov) -X gcovout -X gcov
custom:
benchmark:
- step:
script:
- apt-get update
- apt -y install wget lsb-release gnupg sudo curl
# Enable relevant package repositories
- docker/scripts/enable_ign_stable.sh
# Install base dependencies
- docker/scripts/install_common_deps.sh
- docker/scripts/enable_gcc8.sh
- docker/scripts/install_ign_deps.sh
# There are two methods to install ignition/osrf dependencies.
# The first method uses debians and the second builds dependencies
# from source. For each dependency, please use only one method.
# METHOD 1: Install the following debians
- apt-get install -y
libignition-cmake2-dev
libignition-common3-dev
libignition-math6-eigen3-dev
libignition-plugin-dev
libignition-tools-dev
# libignition-fuel-tools4-dev
# libignition-physics2-dev
# libsdformat9-dev
# libignition-gui3-dev
# libignition-msgs5-dev
# libignition-rendering3-dev
# libignition-sensors3-dev
# libignition-transport8-dev
# Build some Ignition libraries from source.
# Build ign-rendering from source using the default branch
- docker/scripts/build_ign.sh osrf sdformat default
- docker/scripts/build_ign.sh ignitionrobotics ign-msgs default
- docker/scripts/build_ign.sh ignitionrobotics ign-transport default
- docker/scripts/build_ign.sh ignitionrobotics ign-rendering default
- docker/scripts/build_ign.sh ignitionrobotics ign-gui default
- docker/scripts/build_ign.sh ignitionrobotics ign-sensors default
- docker/scripts/build_ign.sh ignitionrobotics ign-physics default
- docker/scripts/build_ign.sh ignitionrobotics ign-fuel-tools default
# Build Ignition Gazebo
- mkdir build
- cd build
- cmake ..
- make -j4 install
- ./bin/BENCHMARK_each --benchmark_out_format=json --benchmark_out=each.json
- ../docker/scripts/upload_json_benchmark.sh each.json