Skip to content

gic400: add secure features (#103) #668

gic400: add secure features (#103)

gic400: add secure features (#103) #668

Workflow file for this run

name: coverage
on:
push:
branches:
- 'main'
- 'dev**'
pull_request:
branches:
- 'main'
env:
BUILD_TYPE: Debug
TARGET_ARCH: linux64
jobs:
build:
name: coverage
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
systemc: [2.3.3]
env:
SYSTEMC_HOME: ${{github.workspace}}/systemc/${{matrix.systemc}}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup Dependencies
run: |
sudo apt-get update -y -qq
sudo apt-get install libelf-dev libsdl2-dev liblua5.3-dev libvncserver-dev libslirp-dev libusb-1.0-0-dev ninja-build gcovr
- name: Cache SystemC
id: cache-systemc
uses: actions/cache@v4
with:
path: ${{github.workspace}}/systemc
key: cache-systemc-${{matrix.systemc}}-${{runner.arch}}-gcov
- name: Download SystemC
if: steps.cache-systemc.outputs.cache-hit != 'true'
run: ./utils/setup-systemc -p ${{github.workspace}} -v ${{matrix.systemc}}
- name: Configure Project
run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DVCML_COVERAGE=ON -DVCML_BUILD_TESTS=ON
- name: Build Project
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j $(nproc)
- name: Run Tests
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure
- name: Generate Coverage Report
run: |
mkdir -p vcml-coverage-report
gcovr --html-details -f 'include/*' -f 'src/*' --output vcml-coverage-report/vcml.html --exclude-lines-by-pattern '\s*(VCML|MWR)_ERROR.*'
- name: Upload Coverage Report
uses: actions/upload-artifact@v4
with:
name: vcml-coverage-report
path: vcml-coverage-report/