compilers: Pass all options to links/compiles #21
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: 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@v4 | |
- uses: actions/setup-python@v5 | |
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@v4 | |
- uses: actions/setup-python@v5 | |
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 |