2021-12-13 17:24:25 -05:00
|
|
|
name: Test
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
2021-12-13 17:33:53 -05:00
|
|
|
branches: [master]
|
2021-12-13 17:24:25 -05:00
|
|
|
pull_request:
|
2021-12-13 17:33:53 -05:00
|
|
|
branches: [master]
|
2021-12-13 17:24:25 -05:00
|
|
|
|
|
|
|
jobs:
|
2021-12-14 17:20:48 -05:00
|
|
|
test:
|
2021-12-14 14:35:34 -05:00
|
|
|
runs-on: ubuntu-latest
|
2021-12-14 17:20:48 -05:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2021-12-14 18:03:51 -05:00
|
|
|
cc: ['gcc', 'clang', 'tcc']
|
2021-12-14 17:20:48 -05:00
|
|
|
opt: ['', '-O0', '-O3']
|
2021-12-15 05:45:40 -05:00
|
|
|
assert: ['--enable-assert', '--disable-assert']
|
2021-12-19 21:22:43 -05:00
|
|
|
guard: ['--enable-guard', '--disable-guard']
|
2021-12-14 17:20:48 -05:00
|
|
|
werror:
|
|
|
|
- cflag: '-Werror'
|
2021-12-17 20:27:45 -05:00
|
|
|
mb2: '--without-multiboot2'
|
2021-12-14 17:20:48 -05:00
|
|
|
- cflag: ''
|
2021-12-17 20:27:45 -05:00
|
|
|
mb2: '--with-multiboot2'
|
2021-12-14 14:35:34 -05:00
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
2021-12-14 18:03:51 -05:00
|
|
|
- name: dependencies
|
2021-12-17 15:26:29 -05:00
|
|
|
run: sudo apt install clang tcc
|
2021-12-14 14:35:34 -05:00
|
|
|
- name: autogen
|
|
|
|
run: ./autogen.sh
|
2021-12-14 14:36:53 -05:00
|
|
|
- name: configure
|
2021-12-19 21:22:43 -05:00
|
|
|
run: ./configure ${{matrix.assert}} ${{matrix.guard}} ${{matrix.werror.mb2}} CC='${{matrix.cc}}' CFLAGS='${{matrix.opt}} ${{matrix.werror.cflag}}'
|
2021-12-14 17:10:28 -05:00
|
|
|
- name: make
|
|
|
|
run: make
|
|
|
|
- name: check
|
2021-12-15 05:45:40 -05:00
|
|
|
run: make check || cat test-suite.log
|
2021-12-17 15:26:29 -05:00
|
|
|
- name: install
|
|
|
|
run: sudo make install
|
|
|
|
|
|
|
|
cppcheck:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: dependencies
|
|
|
|
run: sudo apt install cppcheck
|
2021-12-17 15:17:14 -05:00
|
|
|
- name: cppcheck source code
|
|
|
|
run: cppcheck --quiet --error-exitcode=1 --std=c99 --enable=warning,style,performance,portability include/ src/
|
|
|
|
- name: cppcheck examples
|
|
|
|
run: cppcheck --quiet --error-exitcode=1 --std=c99 --enable=warning,style,performance,portability --suppress=duplicateExpression --suppress=staticStringCompare examples/
|
|
|
|
- name: cppcheck tests
|
|
|
|
run: cppcheck --quiet --error-exitcode=1 --std=c99 --enable=warning,style,performance,portability --suppress=unusedStructMember tests/
|