as the numbers of lines generated by the generation macros
(which are included in the coverage measure)
through the C preprocessor depend on the exact version
of the C preprocessor.
There is no reliable way to get a measure on it,
except by always targeting the same compiler.
So, this measure of coverage (number of lines)
is not suitable for CIT. Ratio seems also not reliable enough.
This reverts commit f45ededf8b.
122 lines
3.4 KiB
YAML
122 lines
3.4 KiB
YAML
name: C/C++ CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
platform: [ubuntu-latest, macos-latest]
|
|
runs-on: ${{ matrix.platform }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: CPU Information
|
|
run: lscpu || sysctl -a|grep cpu || echo "CPU information not available"
|
|
- name: make check C99
|
|
run: make clean && make check -j 2 CC="cc -std=c99 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C11
|
|
working-directory: ./tests
|
|
run: make clean && make check -j 2 CC="cc -std=c11 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C++
|
|
working-directory: ./tests
|
|
run: make clean && make check -j 2 CC="c++ -std=c++11"
|
|
|
|
build_linux32:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: update package list
|
|
run: sudo apt-get update
|
|
- name: install multilib
|
|
run: sudo apt-get install gcc-multilib g++-multilib
|
|
- name: CPU Information
|
|
run: lscpu || echo "CPU information not available"
|
|
- name: make check C99 (32bits)
|
|
working-directory: ./tests
|
|
run: make clean && make check -j 2 CC="gcc -m32 -std=c99 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C11 (32bits)
|
|
working-directory: ./tests
|
|
run: make clean && make check -j 2 CC="gcc -m32 -std=c11 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C++ (32 bits)
|
|
working-directory: ./tests
|
|
run: make clean && make check -j 2 CC="g++ -m32 -std=c++11 -Wno-unknown-warning-option "
|
|
- name: make check against C++ STL
|
|
working-directory: ./tests
|
|
run: make clean && make check-stl -j 2
|
|
|
|
build_linux_tcc:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: CPU Information
|
|
run: lscpu || echo "CPU information not available"
|
|
- name: Clone TCC
|
|
shell: bash
|
|
run: git clone https://repo.or.cz/tinycc.git
|
|
- name: Configure, build & install TCC
|
|
shell: bash
|
|
run: cd tinycc && ./configure --prefix=/tmp/tcc && make && make install
|
|
- name: make depend
|
|
shell: bash
|
|
run: make depend
|
|
- name: make check
|
|
shell: bash
|
|
run: make CC="/tmp/tcc/bin/tcc -std=c99" check
|
|
|
|
build_linux_sanitize:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make sanitize
|
|
working-directory: ./tests
|
|
run: make sanitize -j 2
|
|
|
|
build_windows_mingw:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make check
|
|
shell: bash
|
|
run: mingw32-make -j 2 CC="gcc -std=c99 -D__USE_MINGW_ANSI_STDIO=1" check
|
|
|
|
build_windows_msys2:
|
|
runs-on: windows-latest
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: MINGW64
|
|
update: true
|
|
install: git mingw-w64-x86_64-toolchain make
|
|
- name: make check
|
|
run: make -j 2 CC="gcc -std=c99 -D__USE_MINGW_ANSI_STDIO=1" check
|
|
|
|
build_windows_visual:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make check
|
|
shell: cmd
|
|
working-directory: ./tests
|
|
run: Make-check-cl.bat cl
|
|
|
|
build_windows_clang_cl:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make check
|
|
shell: cmd
|
|
working-directory: ./tests
|
|
run: Make-check-cl.bat clang-cl
|
|
|