Fix attribute ordering #194
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: 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 |