name: SITL Tests on: push: branches: - 'master' pull_request: branches: - '*' jobs: build: runs-on: ubuntu-latest container: px4io/px4-dev-simulation-bionic:2020-01-29 steps: - uses: actions/checkout@v1 with: token: ${{ secrets.ACCESS_TOKEN }} - name: Download MAVSDK run: wget https://github.com/mavlink/MAVSDK/releases/download/v0.24.0/mavsdk_0.24.0_ubuntu18.04_amd64.deb - name: Install MAVSDK run: dpkg -i mavsdk_0.24.0_ubuntu18.04_amd64.deb - uses: actions/cache@v1.1.0 id: ccache-persistence with: path: ~/.ccache key: ccache-sitl-tests restore-keys: | ccache-sitl-tests - name: setup ccache run: mkdir -p ~/.ccache && echo "max_size = 1G" > ~/.ccache/ccache.conf && ccache -z && ccache -s - name: Build PX4 in SITL integration test mode run: DONT_RUN=1 make px4_sitl PX4_CMAKE_BUILD_TYPE=Coverage gazebo mavsdk_tests - name: ccache post-run run: ccache -s && ccache -z - name: Run SITL tests run: test/mavsdk_tests/mavsdk_test_runner.py --speed-factor 20 --abort-early test/mavsdk_tests/configs/sitl.json # Report test coverage - name: disable the keychain credential helper run: git config --global credential.helper "" - name: enable the local store credential helper run: git config --global --add credential.helper store - name: add credential run: echo "https://x-access-token:${{ secrets.ACCESS_TOKEN }}@github.com" >> ~/.git-credentials - name: tell git to use https instead of ssh whenever it encounters it run: 'git config --global url."https://github.com/".insteadof git@github.com:' - name: Check code coverage run: | mkdir -p coverage lcov --directory build/px4_sitl_default --base-directory build/px4_sitl_default --gcov-tool gcov --capture -o coverage/lcov.info - name: Upload coverage information to Codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} flags: mavsdk file: coverage/lcov.info