name: Build
|
on: [push, pull_request]
|
|
jobs:
|
build:
|
runs-on: ubuntu-latest
|
steps:
|
- uses: actions/checkout@v2
|
|
- name: install_dependencies
|
run: sudo apt-get install libcunit1-dev clang
|
|
- name: make
|
run: make clean all test
|
|
- name: clang_sanitize_address
|
env:
|
CC: clang
|
CFLAGS: -g -O0 -fsanitize=address
|
LDFLAGS: -g -fsanitize=address
|
run: make clean test
|
|
- name: clang_sanitize_address_device_errors
|
env:
|
CC: clang
|
CFLAGS: -g -O0 -fsanitize=address -DUSE_DEVICE_DEPENDENT_ERROR_INFORMATION=0
|
LDFLAGS: -g -fsanitize=address
|
run: make clean test
|
|
- name: clang_sanitize_address_nomalloc
|
env:
|
CC: clang
|
CFLAGS: -g -O0 -fsanitize=address -DUSE_MEMORY_ALLOCATION_FREE=0
|
LDFLAGS: -g -fsanitize=address
|
run: make clean test
|
|
- name: gcc-c89
|
env:
|
CFLAGS: -std=c89
|
run: make clean all test
|
|
- name: gcc-c90
|
env:
|
CFLAGS: -std=c90
|
run: make clean all test
|
|
- name: gcc-c99
|
env:
|
CFLAGS: -std=c99
|
run: make clean all test
|
|
- name: gcc-gnu99
|
env:
|
CFLAGS: -std=gnu99
|
run: make clean all test
|
|
build-arm:
|
runs-on: ubuntu-latest
|
steps:
|
- uses: actions/checkout@v2
|
|
- uses: uraimo/run-on-arch-action@v2
|
name: Run commands
|
id: runcmd
|
with:
|
arch: armv7
|
distro: ubuntu_latest
|
install: |
|
apt-get update -q -y
|
apt-get install -q -y build-essential libcunit1-dev
|
run: make clean all test
|
|
coverage:
|
runs-on: ubuntu-latest
|
steps:
|
- uses: actions/checkout@v2
|
|
- name: install_dependencies
|
run: sudo apt-get install libcunit1-dev lcov
|
|
- name: coverage
|
env:
|
CFLAGS: -fprofile-arcs -ftest-coverage
|
LDFLAGS: -lgcov
|
run: make clean all test
|
|
- name: lcov_capture
|
run: lcov --capture --directory libscpi/ --output-file lcov.info
|
|
- name: lcov_cleanup
|
run: lcov --remove lcov.info '*/test/*' --output-file lcov.info
|
|
- name: Coveralls
|
uses: coverallsapp/github-action@master
|
with:
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
path-to-lcov: ./lcov.info
|