Merge pull request #2272 from greenbone/add-deadlock-retry #2233
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Build and Test' | |
on: | |
push: | |
branches: [ main, stable, oldstable ] | |
pull_request: | |
branches: [ main, stable, oldstable ] | |
jobs: | |
check-format: | |
name: Check formatting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out gvmd | |
uses: actions/checkout@v4 | |
- name: Check Source Format | |
run: | | |
clang-format -i -style=file src/gmp_{base,delete,get,tickets}.h \ | |
src/{gmp,gmpd,iterator,sql,types,utils,manage_utils}.h | |
git diff --exit-code | |
scan-build: | |
name: scan-build (clang static analyzer) | |
runs-on: ubuntu-latest | |
container: ${{ vars.IMAGE_REGISTRY }}/greenbone/gvmd-build:stable | |
steps: | |
- name: Check out gvmd | |
uses: actions/checkout@v4 | |
- name: Install clang tools | |
run: | | |
apt update | |
apt install --no-install-recommends -y clang clang-format clang-tools | |
rm -rf /var/lib/apt/lists/* | |
- name: Configure scan build | |
run: | | |
scan-build cmake -B build -DCMAKE_BUILD_TYPE=Debug | |
scan-build -o ~/scan-build-report cmake --build build | |
- name: Upload scan-build report | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: scan-build-report | |
path: ~/scan-build-report/ | |
retention-days: 7 | |
test-units: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
container: ${{ vars.IMAGE_REGISTRY }}/greenbone/gvmd-build:stable | |
steps: | |
- name: Install git for Codecov uploader | |
run: | | |
apt update | |
apt install --no-install-recommends -y ca-certificates git | |
rm -rf /var/lib/apt/lists/* | |
- name: Check out gvmd | |
uses: actions/checkout@v4 | |
- name: Set git safe.directory | |
run: git config --global --add safe.directory '*' | |
- name: Build gvmd | |
run: | | |
cmake -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=1 | |
cmake --build build | |
- name: Configure and run tests | |
run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build -- tests test | |
- name: Upload test coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
file: build/coverage/coverage.xml | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: unittests |