build #1
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 | |
on: | |
push: | |
branches: | |
- master | |
paths: | |
- "srcs/**" | |
workflow_dispatch: | |
jobs: | |
linux: | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
matrix: | |
os: [ubuntu-22.04] | |
steps: | |
- name: Setup cmake | |
uses: jwlawson/actions-setup-cmake@v1.13 | |
- uses: actions/checkout@v3 | |
- name: Checkout submodules | |
run: git submodule update --init | |
- name: update | |
run: sudo apt-get update && sudo apt-get upgrade -y | |
- name: install packages | |
run: sudo apt-get install -y -m -f --install-suggests build-essential git libtool libtool-bin automake bison libglib2.0-0 clang llvm-dev libc++-dev findutils libcmocka-dev python3-dev python3-setuptools ninja-build clang-tidy clang-format libyaml-cpp-dev | |
- name: Run cmake | |
run: cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON | |
- name: Build | |
run: cmake --build build -j | |
- name: Clang format | |
run: cmake --build build --target formatcheck | |
- name: Clang tidy | |
run: cmake --build build --target lint | |
- name: Tests | |
run: cd build/tests && ctest |