blob: a32e28d0b3dd3b53e5c6db4973683aea1bf53447 [file] [log] [blame]
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 }}
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 caes/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 caes/windows/**"
jobs:
linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
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 codecov
- 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: Upload coverage report
run: ./ci/upload_cov.sh "UnusedMissingReturn"
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.x'
- run: pip install ninja pefile coverage codecov
- 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: Upload coverage report
run: ./ci/upload_cov.sh "UnusedMissingReturn Windows"