Skip to content

Merge pull request #16 from d06alexandrov/read_regexp_file_fix #78

Merge pull request #16 from d06alexandrov/read_regexp_file_fix

Merge pull request #16 from d06alexandrov/read_regexp_file_fix #78

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
sonarcloud:
strategy:
fail-fast: false
runs-on: ubuntu-latest
env:
BUILD_WRAPPER_OUT_DIR: sonarcloud
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install sonar-scanner and build-wrapper
uses: SonarSource/sonarcloud-github-c-cpp@v1
- name: Autoreconf
run: autoreconf -i
- name: Configure
run: ./configure
- name: Run build-wrapper
run: |
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make
- name: Run sonar-scanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
sonar-scanner --define project.settings=.github/sonar-project.properties --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}"
codecov:
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install prerequisites
run: |
sudo apt update && sudo apt install -y libgtest-dev
pip3 install gcovr
- name: Autoreconf
run: autoreconf -i
- name: Configure
run: ./configure --enable-gcovr
- name: Make
run: make
- name: Run tests
run: make check -C test
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./test/coverage/codecov.xml
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install prerequisites
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
brew install automake argp-standalone googletest
elif [ "$RUNNER_OS" == "Linux" ]; then
sudo apt update && sudo apt install -y libgtest-dev
fi
- name: Autoreconf
run: autoreconf -i
- name: Configure
run: ./configure
- name: Make
run: make
- name: Run tests
run: make check -C test
- name: Upload test log
if: always()
uses: actions/upload-artifact@v3
with:
name: test_log_${{ github.job }}_${{ matrix.os }}
path: |
test/*.log
config.log
benchmark:
needs: test
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install prerequisites
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
brew install automake argp-standalone google-benchmark
elif [ "$RUNNER_OS" == "Linux" ]; then
sudo apt update && sudo apt install -y libbenchmark-dev
fi
- name: Autoreconf
run: autoreconf -i
- name: Configure
run: ./configure
- name: Make
run: make
- name: Run benchmark tests
run: make check -C benchmark
- name: Upload test log
if: always()
uses: actions/upload-artifact@v3
with:
name: test_log_${{ github.job }}_${{ matrix.os }}
path: |
benchmark/*.log
config.log