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
|
name: Ubuntu Bionic / Linux
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Install base dependencies
run: |
sudo apt update;
sudo apt -y install wget lsb-release gnupg;
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" > /etc/apt/sources.list.d/gazebo-stable.list';
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D2486D2DD83DB69272AFE98867170598AF249743;
sudo apt-get update;
sudo apt -y install cmake build-essential curl g++-8 git mercurial libtinyxml-dev libxml2-utils ruby-dev python-psutil cppcheck;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8;
# workaround for https://github.com/rubygems/rubygems/issues/3068
# suggested in https://github.com/rubygems/rubygems/issues/3068#issuecomment-574775885
sudo gem update --system 3.0.6;
- name: Install lcov
run: |
git clone https://github.com/linux-test-project/lcov.git -b v1.14;
cd lcov;
sudo make install;
cd ..;
- name: Static checking before building - fail fast
run: sh tools/code_check.sh
- name: Install ignition dependencies
run: |
sudo apt -y install \
libignition-cmake2-dev \
libignition-math6-dev \
libignition-tools-dev \
liburdfdom-dev;
- name: cmake
run: |
mkdir build;
cd build;
cmake .. -DCMAKE_BUILD_TYPE=coverage;
- name: make sdf_descriptions
working-directory: build
run: make sdf_descriptions
- name: make
working-directory: build
run: make
- name: make test
env:
CTEST_OUTPUT_ON_FAILURE: 1
working-directory: build
run: make test
- name: make coverage
working-directory: build
run: make coverage VERBOSE=1
- name: Upload to codecov
working-directory: build
# disable gcov output with `-X gcovout -X gcov`
run: bash <(curl -s https://codecov.io/bash) -X gcovout -X gcov
- name: make install
working-directory: build
run: sudo make install
- name: Compile example code
working-directory: examples
run: |
mkdir build;
cd build;
cmake ..;
make;
./simple ../simple.sdf;
|