libkernaux/.github/workflows/main.yml

89 lines
2.9 KiB
YAML
Raw Normal View History

name: Main
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
debug: ['--disable-debug', '--enable-debug']
cc: ['gcc', 'clang', 'tcc']
opt: ['', '-O0', '-O3']
steps:
- uses: actions/checkout@v2
- name: dependencies
run: sudo apt-get --yes install clang tcc
- name: autogen
run: ./autogen.sh
- name: configure
run: ./configure ${{matrix.debug}} --enable-tests --enable-tests-python CC='${{matrix.cc}}' CFLAGS='${{matrix.opt}}'
- name: make
run: make
- name: check
2022-06-12 08:42:43 +00:00
run: make check || (./test-suite-log && false)
- name: install
run: sudo make install
2022-06-07 18:13:56 +00:00
cond:
runs-on: ubuntu-latest
strategy:
matrix:
2022-06-14 13:14:08 +00:00
packages:
- without: 'all'
- without: 'io'
- without: 'ntoa'
dependencies: '--without-printf --without-units'
- without: 'printf'
2022-06-07 18:13:56 +00:00
steps:
- uses: actions/checkout@v2
- name: autogen
run: ./autogen.sh
- name: configure
2022-06-14 13:14:08 +00:00
run: ./configure --enable-debug --enable-tests --enable-tests-python --without-${{matrix.packages.without}} ${{matrix.packages.dependencies}}
2022-06-07 18:13:56 +00:00
- name: make
run: make
- name: check
2022-06-12 08:42:43 +00:00
run: make check || (./test-suite-log && false)
2022-06-07 18:13:56 +00:00
- name: install
run: sudo make install
2022-05-24 13:30:00 +00:00
dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: autogen
run: ./autogen.sh
- name: configure dist
run: ./configure
- name: dist
run: make dist
- name: extract
2022-06-13 12:05:47 +00:00
run: tar -xzf "libkernaux-$(cat VERSION).tar.gz"
- name: configure
run: cd "libkernaux-$(cat VERSION)" && ./configure --enable-debug --enable-tests --enable-tests-python
2022-06-13 12:05:47 +00:00
- name: make
run: cd "libkernaux-$(cat VERSION)" && make
- name: check
run: cd "libkernaux-$(cat VERSION)" && make check || (./test-suite-log && false)
- name: install
run: cd "libkernaux-$(cat VERSION)" && sudo make install
2022-05-24 13:30:00 +00:00
cppcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: dependencies
run: sudo apt-get --yes install cppcheck
- name: cppcheck source code
# TODO: don't suppress "src/printf.c"
2022-06-12 13:52:40 +00:00
run: cppcheck --quiet --error-exitcode=1 --std=c99 --enable=warning,style,performance,portability --suppress='*:src/printf.c' include/ src/ libc/
- 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/