name: UnusedMissingReturn # this workflow checks for # * unused input arguments # * missing return values # * strict prototypes # some users have default configs that will needlessly fail Meson self-tests due to these syntax. env: CFLAGS: "-Werror=unused-parameter -Werror=return-type -Werror=strict-prototypes" CPPFLAGS: "-Werror=unused-parameter -Werror=return-type" FFLAGS: "-fimplicit-none" concurrency: group: unusedargs-${{ github.head_ref || github.ref }} cancel-in-progress: true on: push: paths: - ".github/workflows/unusedargs_missingreturn.yml" - "test cases/cmake/**" - "test cases/common/**" - "test cases/fortran/**" - "test cases/linuxlike/**" - "test cases/objc/**" - "test cases/objcpp/**" - "test cases/windows/**" pull_request: paths: - ".github/workflows/unusedargs_missingreturn.yml" - "test cases/cmake/**" - "test cases/common/**" - "test cases/fortran/**" - "test cases/linuxlike/**" - "test cases/objc/**" - "test cases/objcpp/**" - "test cases/windows/**" permissions: contents: read jobs: linux: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.x' - name: Install Compilers run: | sudo apt update -yq sudo apt install -yq --no-install-recommends g++ gfortran ninja-build gobjc gobjc++ python -m pip install coverage - run: ./tools/run_with_cov.py run_project_tests.py --only cmake common fortran platform-linux "objective c" "objective c++" env: MESON_CI_JOBNAME: linux-ubuntu-gcc-werror - name: Aggregate coverage reports run: ./ci/combine_cov.sh - name: Upload coverage report uses: codecov/codecov-action@v3 with: files: .coverage/coverage.xml name: "UnusedMissingReturn" fail_ci_if_error: false verbose: true windows: runs-on: windows-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.x' - run: pip install ninja pefile coverage - run: python ./tools/run_with_cov.py run_project_tests.py --only platform-windows env: CC: gcc CXX: g++ FC: gfortran MESON_CI_JOBNAME: msys2-gcc-werror - name: Aggregate coverage reports run: ./ci/combine_cov.sh shell: C:\msys64\usr\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}' - name: Upload coverage report uses: codecov/codecov-action@v3 with: files: .coverage/coverage.xml name: "UnusedMissingReturn Windows" fail_ci_if_error: false verbose: true