throw error not warning if building with non-clang compiler (#174) #842
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: PerfFlowAspect CI | |
on: [ push, pull_request ] | |
jobs: | |
build-c: | |
name: check c bindings | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
config: [boilerplate, release, debug_cuda_only, debug_mpi_only, debug_threads_only] | |
include: | |
- config: boilerplate | |
PERFFLOWASPECT_WITH_CUDA: OFF | |
PERFFLOWASPECT_WITH_MPI: ON | |
PERFFLOWASPECT_WITH_MULTITHREADS: ON | |
CMAKE_BUILD_TYPE: Debug | |
- config: release | |
PERFFLOWASPECT_WITH_CUDA: OFF | |
PERFFLOWASPECT_WITH_MPI: ON | |
PERFFLOWASPECT_WITH_MULTITHREADS: ON | |
CMAKE_BUILD_TYPE: Release | |
- config: debug_cuda_only | |
PERFFLOWASPECT_WITH_CUDA: OFF | |
PERFFLOWASPECT_WITH_MPI: OFF | |
PERFFLOWASPECT_WITH_MULTITHREADS: OFF | |
CMAKE_BUILD_TYPE: Debug | |
- config: debug_mpi_only | |
PERFFLOWASPECT_WITH_CUDA: OFF | |
PERFFLOWASPECT_WITH_MPI: ON | |
PERFFLOWASPECT_WITH_MULTITHREADS: OFF | |
CMAKE_BUILD_TYPE: Debug | |
- config: debug_threads_only | |
PERFFLOWASPECT_WITH_CUDA: OFF | |
PERFFLOWASPECT_WITH_MPI: OFF | |
PERFFLOWASPECT_WITH_MULTITHREADS: ON | |
CMAKE_BUILD_TYPE: Debug | |
steps: | |
# Checkout PerfFlowAspect repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v2 | |
- name: Setup Build Env | |
run: | | |
sudo apt-get update | |
sudo apt install clang llvm-dev libjansson-dev libssl-dev bison flex make cmake mpich | |
clang++ --version | |
- name: Compile check | |
run: | | |
cd src/c | |
mkdir build install | |
cd build | |
export CMAKE_OPTS="-DCMAKE_CXX_COMPILER=clang++ -DLLVM_DIR=/usr/lib/llvm-10/cmake -DCMAKE_INSTALL_PREFIX=../install" | |
export CMAKE_OPTS="${CMAKE_OPTS} -DCMAKE_BUILD_TYPE=${{matrix.CMAKE_BUILD_TYPE}}" | |
export CMAKE_OPTS="${CMAKE_OPTS} -DPERFFLOWASPECT_WITH_CUDA=${{matrix.PERFFLOWASPECT_WITH_CUDA}}" | |
export CMAKE_OPTS="${CMAKE_OPTS} -DPERFFLOWASPECT_WITH_MPI=${{matrix.PERFFLOWASPECT_WITH_MPI}}" | |
export CMAKE_OPTS="${CMAKE_OPTS} -DPERFFLOWASPECT_WITH_MULTITHREADS=${{matrix.PERFFLOWASPECT_WITH_MULTITHREADS}}" | |
echo -e ${CMAKE_OPTS} | |
cmake ${CMAKE_OPTS} .. | |
# build | |
make VERBOSE=1 | |
# install | |
make install | |
- name: Run C Smoke Tests | |
run: | | |
cd src/c/install/test | |
./t0001-cbinding-basic.t | |
build-python: | |
name: check python bindings | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: [3.8] | |
steps: | |
# Checkout PerfFlowAspect repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip pytest setuptools | |
cd src/python | |
python -m pip install -r requirements.txt | |
python -m pip list | |
- name: Run Python Smoke Tests | |
run: | | |
cd src/python/test | |
./t0001-pybinding-basic.t | |
check-code-format: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout PerfFlowAspect repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v2 | |
- name: Setup build environment | |
run: | | |
sudo apt install pipx | |
pipx ensurepath | |
- name: Style check c/cpp/h files | |
run: | | |
sudo apt-get update | |
sudo apt-get install astyle | |
astyle --version | |
cd ${GITHUB_WORKSPACE} | |
./scripts/.ci-check-c-code-format.sh | |
err=$? | |
if [ $err -eq 0 ]; then exit 0; else echo -e "Formatting issue found in C/C++ files. Please run ./scripts/check-c-code-format.sh"; exit 1; fi | |
- name: Install python dependencies | |
run: | | |
pipx install flake8 rstfmt | |
pipx install black flake8 | |
- name: Format check with flake8 and black | |
run: | | |
cd src/python | |
black --diff --check . | |
flake8 | |
- name: Format check with rstfmt | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
./scripts/.ci-check-rst-format.sh |