Skip to content

Merge branch 'master' into force_mode_arguments #25

Merge branch 'master' into force_mode_arguments

Merge branch 'master' into force_mode_arguments #25

Workflow file for this run

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:
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 -rI \
--exclude-dir=.git \
--exclude-dir=build/ \
--exclude-dir=tests \
--exclude=package.xml \
--exclude-dir=CMakeModules \
--exclude=tcp_socket.cpp \
--exclude-dir=debian \
--exclude=dataflow.graphml \
--exclude=start_ursim.sh
rosdoc_lite_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: ./.github/actions/rosdoc_lite_action