Dev #76
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: Ubuntu | |
# Define the rules when this workflow should be applied | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
jobs: | |
build: | |
# Specify the type of the machine | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
# Install all dependencies needed for a successful build | |
# This is done primarily for the GUI library | |
- name: Install dependencies | |
run: /bin/bash .github/scripts/install_gui_dependencies.sh | |
# Configure the CMake project using CMake Presets | |
- name: Configure CMake | |
run: cmake --preset unix_makefiles_gcc_code_coverage | |
# Build the project | |
- name: Build | |
run: cmake --build --preset unix_makefiles_gcc_code_coverage -j10 | |
# Run tests | |
- name: Tests | |
run: | | |
cd build/unix_makefiles/gcc/code_coverage | |
ctest --rerun-failed --output-on-failure | |
# Report test coverage | |
- name: Upload coverage reports to Codecov | |
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports" | |
# EOF |