Skip to content

Commit

Permalink
Merge branch 'main' into upload_status_modify_license
Browse files Browse the repository at this point in the history
  • Loading branch information
timopollmeier authored Nov 25, 2021
2 parents 1f672f8 + 485b0fa commit 78e6ea0
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 138 deletions.
156 changes: 19 additions & 137 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
name: 'Build and Test'

on:
push:
branches: [ main, stable, oldstable ]
pull_request:
branches: [ main, stable, oldstable ]
name: 'Build and Test'

jobs:
check-format:
name: Check formatting
Expand All @@ -14,163 +15,44 @@ jobs:
uses: actions/checkout@v2
- name: Check Source Format
run: |
clang-format -i -style=file src/gmp.h src/gmp_base.h src/gmp_delete.h \
src/gmp_get.h src/gmp_tickets.h src/gmpd.h src/iterator.h \
src/manage_utils.h src/sql.h src/types.h src/utils.h
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
build-doc:
name: Build standard documentation
runs-on: ubuntu-latest
container: greenbone/doxygen
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Build standard documentation, failing if there are warnings
run: |
mkdir build
cd build
cmake -DSKIP_SRC=1 ..
make doc 2>&1 1>/dev/null | { ! grep --invert-match "CGI::Pretty"; }
generate-xml-doc:
name: Build XML documentation
runs-on: ubuntu-latest
container: greenbone/doxygen
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Generate documentation (XML)
run: |
mkdir build
cd build
cmake -DSKIP_SRC=1 ..
make doc-xml 2> ~/doxygen-stderr.txt
- name: Upload doxygen error output as artifact
uses: actions/upload-artifact@v2
with:
name: doxygen-stderr.txt
path: ~/doxygen-stderr.txt
- name: Upload XML documentation as artifact
uses: actions/upload-artifact@v2
with:
name: xml-doc
path: build/doc/generated/xml/

doc-coverage:
name: Upload doc coverage to Codecov
needs: generate-xml-doc
runs-on: ubuntu-latest
container: greenbone/gvmd-clang-build:unstable
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Install coverxygen and codecov
run: |
apt-get update && apt-get --assume-yes install python3-venv curl
python3 -m venv venv
. venv/bin/activate
pip install setuptools --upgrade
pip install 'coverxygen>=1.3.1' codecov
- name: Download XML documentation artifact
id: xml-doc-download
uses: actions/download-artifact@v2
with:
name: xml-doc
path: /tmp/xml-doc
- name: Establish documentation coverage
run: |
. venv/bin/activate
python -m coverxygen --src-dir ${{ github.workspace }} \
--xml-dir ${{steps.xml-doc-download.outputs.download-path}} \
--output lcov.info
- uses: codecov/codecov-action@v1
with:
files: lcov.info

build-gmp-doc:
name: Build GMP documentation
runs-on: ubuntu-latest
container: greenbone/gvmd-clang-build:unstable
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Generate GMP documentation (HTML)
run: |
mkdir build
cd build
cmake -DSKIP_SRC=1 ..
make doc-gmp
- name: Upload GMP documentation artifact
uses: actions/upload-artifact@v2
with:
name: gmp.html
path: build/doc/gmp.html

build:
name: Build various configs
runs-on: ubuntu-latest
strategy:
matrix:
build_type:
- Debug
- Release
docker_base:
- greenbone/gvmd-clang-build:unstable
- greenbone/gvmd-gcc-build:unstable
container: ${{ matrix.docker_base }}
env:
BUILD_TYPE: ${{ matrix.build_type }}
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Configure and compile gvmd
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE ..
make install
scan-build:
name: Scan-build (clang static analyzer)
name: scan-build (clang static analyzer)
runs-on: ubuntu-latest
container: greenbone/gvmd-clang-build:unstable
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Configure and Scan Build (Debug, PostgreSQL)
- name: Configure scan build
run: |
mkdir build
cd build
scan-build cmake -DCMAKE_BUILD_TYPE=Debug ..
scan-build -o ~/scan-build-report make
[ -z "$(ls -A ~/scan-build-report/)" ]
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@v2
with:
name: scan-build-report
path: ~/scan-build-report/
retention-days: 7

test-units:
name: Build and run unit tests
name: Unit Tests
runs-on: ubuntu-latest
strategy:
matrix:
docker_base:
- greenbone/gvmd-clang-build:unstable
- greenbone/gvmd-gcc-build:unstable
container: ${{ matrix.docker_base }}
compiler:
- gcc
- clang
container: greenbone/gvmd-${{ matrix.compiler }}-build:unstable
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Configure and run unit tests
- name: Build gvmd with ${{ matrix.compiler }}
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_COVERAGE=1 ..
make
make tests
CTEST_OUTPUT_ON_FAILURE=1 make test
lcov --directory . --capture --output-file coverage.info
genhtml -o coverage coverage.info
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
34 changes: 34 additions & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: 'Build Documentation'

on:
push:
branches: [ main, stable, oldstable ]

jobs:
generate-doc-and-upload-coverage:
name: Build XML documentation and upload coverage
runs-on: ubuntu-latest
container: greenbone/doxygen
steps:
- name: Run the c lang coverage action
uses: greenbone/actions/doc-coverage-clang@v1

build-gmp-doc:
name: Build GMP documentation
runs-on: ubuntu-latest
container: greenbone/gvmd-clang-build:oldstable
steps:
- name: Check out gvmd
uses: actions/checkout@v2
- name: Generate GMP documentation (HTML)
run: |
mkdir build
cd build
cmake -DSKIP_SRC=1 ..
make doc-gmp
- name: Upload GMP documentation artifact
uses: actions/upload-artifact@v2
with:
name: gmp.html
path: build/doc/gmp.html
retention-days: 14
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Greenbone Vulnerability Manager

[![GitHub releases](https://img.shields.io/github/release/greenbone/gvmd.svg)](https://github.com/greenbone/gvmd/releases)
[![codecov](https://codecov.io/gh/greenbone/gvmd/branch/master/graph/badge.svg?token=y8cY3Pfn7P)](https://codecov.io/gh/greenbone/gvmd)
[![codecov](https://codecov.io/gh/greenbone/gvmd/branch/main/graph/badge.svg?token=y8cY3Pfn7P)](https://codecov.io/gh/greenbone/gvmd)
[![Build and Test](https://github.com/greenbone/gvmd/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/greenbone/gvmd/actions/workflows/build-and-test.yml)
[![Docker Pulls](https://img.shields.io/docker/pulls/greenbone/gvmd.svg)](https://hub.docker.com/r/greenbone/gvmd/)
[![Docker Image Size](https://img.shields.io/docker/image-size/greenbone/gvmd.svg?maxAge=2592000)](https://hub.docker.com/r/greenbone/gvmd/)
Expand Down

0 comments on commit 78e6ea0

Please sign in to comment.