Skip to content

Fix attribute ordering #194

Fix attribute ordering

Fix attribute ordering #194

Workflow file for this run

name: CI Tests
on:
push:
paths-ignore: ['**.md']
pull_request:
paths-ignore: ['**.md']
jobs:
Doxygen:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Setup
run: |
chmod +x utils/linux/doxygen
shell: bash
- name: Validate Documentation
run: |
utils/linux/doxygen .doxygen
shell: bash
Clang_Format:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build
shell: bash
- name: Validate Source Formatting
run: |
wget https://github.com/Bareflank/llvm-project/releases/download/v11.0.0-bsl/llvm-bareflank.tar.gz
sudo tar -xzvf llvm-bareflank.tar.gz -C /usr/lib/
export PATH="/usr/lib/llvm-bareflank/bin:$PATH"
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=DEBUG -DENABLE_CLANG_FORMAT=ON ../hypervisor
ninja format
cd ../hypervisor
if [[ -n $(git diff) ]]; then
echo "You must run make format before submitting a pull request"
echo ""
git diff
exit -1
fi
shell: bash
Clang_Tidy:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build
shell: bash
- name: Validate Compliance
run: |
wget https://github.com/Bareflank/llvm-project/releases/download/v11.0.0-bsl/llvm-bareflank.tar.gz
sudo tar -xzvf llvm-bareflank.tar.gz -C /usr/lib/
export PATH="/usr/lib/llvm-bareflank/bin:$PATH"
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=CLANG_TIDY -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBSL_DEBUG_LEVEL=bsl::VVV ../hypervisor
ninja
shell: bash
IWYU:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build
shell: bash
- name: Validate Compliance
run: |
wget https://github.com/Bareflank/llvm-project/releases/download/v11.0.0-bsl/llvm-bareflank.tar.gz
sudo tar -xzvf llvm-bareflank.tar.gz -C /usr/lib/
chmod +x hypervisor/utils/linux/include-what-you-use
sudo cp hypervisor/utils/linux/include-what-you-use /usr/lib/llvm-bareflank/bin/
export PATH="/usr/lib/llvm-bareflank/bin:$PATH"
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=DEBUG -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBSL_DEBUG_LEVEL=bsl::VVV -DHYPERVISOR_IWYU=ON ../hypervisor
ninja iwyu
shell: bash
ASAN:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build
shell: bash
- name: Validate ASAN
run: |
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=ASAN -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBSL_DEBUG_LEVEL=bsl::VVV ../hypervisor
ninja
ninja unittest
shell: bash
UBSAN:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build
shell: bash
- name: Validate UBSAN
run: |
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=UBSAN -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBSL_DEBUG_LEVEL=bsl::VVV ../hypervisor
ninja
ninja unittest
shell: bash
Release:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build
shell: bash
- name: Validate Release Build
run: |
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_EXAMPLES=ON ../hypervisor
ninja
shell: bash
Debug:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build
shell: bash
- name: Validate Debug Build
run: |
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=DEBUG -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON -DBSL_DEBUG_LEVEL=bsl::VVV ../hypervisor
ninja
ninja unittest
shell: bash
Codecov:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
path: hypervisor
- name: Setup
run: |
sudo apt-get update
sudo apt-get install -y clang lld cmake ninja-build llvm
wget https://github.com/mozilla/grcov/releases/download/v0.8.0/grcov-linux-x86_64.tar.bz2
tar xvf grcov-linux-x86_64.tar.bz2
sudo mv grcov /usr/bin/
sudo rm /usr/bin/gcov
sudo ln -s /usr/bin/llvm-cov-10 /usr/bin/gcov
shell: bash
- name: Gather Codecov Info
run: |
mkdir build && cd build
cmake -GNinja -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_BUILD_TYPE=CODECOV -DBUILD_TESTS=ON -DBSL_DEBUG_LEVEL=bsl::VVV ../hypervisor
ninja
shell: bash
- name: Upload Codecov Info
run: |
cd build
ninja codecov-upload-ci
shell: bash