Addressed PR comments #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration tests | |
on: [push, pull_request] | |
jobs: | |
build: | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
name: build (${{matrix.env.URSIM_VERSION}}-${{matrix.env.ROBOT_MODEL}}) | |
strategy: | |
fail-fast: false | |
matrix: | |
env: | |
- DOCKER_RUN_OPTS: --network ursim_net | |
BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
ROBOT_MODEL: 'ur5' | |
URSIM_VERSION: '3.14.3' | |
PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/cb3' | |
- DOCKER_RUN_OPTS: --network ursim_net | |
BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
ROBOT_MODEL: 'ur5e' | |
URSIM_VERSION: '5.9.4' | |
PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' | |
- DOCKER_RUN_OPTS: --network ursim_net | |
BEFORE_INIT: 'apt-get update -qq && apt-get install -y iproute2 iputils-ping && ip addr && ping -c5 192.168.56.101' | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
ROBOT_MODEL: 'ur20' | |
URSIM_VERSION: 'latest' | |
PROGRAM_FOLDER: 'tests/resources/dockerursim/programs/e-series' | |
steps: | |
- uses: actions/checkout@v1 | |
- name: start ursim | |
run: | | |
scripts/start_ursim.sh -m $ROBOT_MODEL -v $URSIM_VERSION -p $PROGRAM_FOLDER -d | |
env: ${{matrix.env}} | |
- name: install gtest | |
run: sudo apt-get install -y libgtest-dev | |
- name: install boost | |
run: sudo apt-get install -y libboost-dev | |
- name: configure | |
run: mkdir build && cd build && cmake .. -DBUILDING_TESTS=1 -DINTEGRATION_TESTS=1 -DWITH_ASAN=ON | |
env: | |
CXXFLAGS: -g -O2 -fprofile-arcs -ftest-coverage | |
CFLAGS: -g -O2 -fprofile-arcs -ftest-coverage | |
LDFLAGS: -fprofile-arcs -ftest-coverage | |
- name: build | |
run: cmake --build build --config Debug | |
- name: Create folder for test artifacts | |
run: mkdir -p test_artifacts | |
- name: test | |
run: cd build && ctest --output-on-failure | |
- name: run examples | |
run: ./run_examples.sh "192.168.56.101" 1 | |
- name: install gcovr | |
run: sudo apt-get install -y gcovr | |
- name: gcovr | |
run: cd build && gcovr -r .. | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
gcov: true | |
- name: Generate URSim log files | |
if: always() | |
run: | | |
nc -q 1 192.168.56.101 29999 <<END | |
saveLog | |
END | |
mkdir -p ursim_logs | |
docker cp ursim:/ursim/URControl.log ursim_logs/URControl.log | |
docker cp ursim:/ursim/polyscope.log ursim_logs/polyscope.log | |
docker cp ursim:/ursim/log_history.txt ursim_logs/log_history.txt | |
- name: Copy flight reports | |
if: failure() | |
run: | | |
mkdir -p ursim_logs/flightreports | |
docker cp ursim:/ursim/flightreports/. ursim_logs/flightreports/ | |
- name: Upload logfiles | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: ${{matrix.env.ROBOT_MODEL}}_${{matrix.env.URSIM_VERSION}}_URSim_Logs | |
path: ursim_logs | |
if-no-files-found: error | |
retention-days: 10 | |
- name: Upload test artifacts | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: ${{matrix.env.ROBOT_MODEL}}_${{matrix.env.URSIM_VERSION}}_test_artifacts | |
path: test_artifacts | |
if-no-files-found: error | |
retention-days: 10 | |
check_links: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Check URLs | |
run: | | |
.github/helpers/check_urls.sh \ | |
-d ".git build CMakeModules debian" \ | |
-f "package.xml architecture_coarse.svg dataflow.graphml start_ursim.sh" \ | |
-p "vnc\.html opensource\.org\/licenses\/BSD-3-Clause kernel\.org\/pub\/linux\/kernel" | |
rosdoc_lite_check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- uses: ./.github/actions/rosdoc_lite_action |