Skip to content

Cleaned up the build system and code #1

Cleaned up the build system and code

Cleaned up the build system and code #1

---
name: Build for Ubuntu-24.04
on:
push:
branches: [main]
paths:
- src/**
- test/**
- benchmark/**
- cmake/**
- CMakeLists.txt
- CMakePresets.json
- .github/workflows/build-ubuntu-2404.yml
pull_request:
branches: [main]
types: [synchronize, opened, reopened, ready_for_review]
paths:
- src/**
- test/**
- benchmark/**
- cmake/**
- CMakeLists.txt
- CMakePresets.json
- .github/workflows/build-ubuntu-2404.yml
workflow_dispatch:
jobs:
ubuntu-2404:
runs-on: ubuntu-24.04
env:
CMAKE_GENERATOR: Ninja
steps:
- name: Setup Runner Environment
run: |
uname -a
lsb_release -a
CORES=$(nproc)
echo "CMAKE_BUILD_PARALLEL_LEVEL=$CORES" >> $GITHUB_ENV
echo "CTEST_TEST_PARALLEL_LEVEL=$CORES" >> $GITHUB_ENV
echo "CTEST_TEST_LOAD=$CORES" >> $GITHUB_ENV
- name: Install Build Tools
run: |
sudo apt-get -qq update
sudo apt-get -qq install cmake ninja-build g++ libsparsehash-dev libboost-test-dev
- uses: actions/checkout@v4
- name: Configure Multi-Config
run: cmake --preset multi
- name: Build Debug
run: cmake --build --preset debug
- name: Test Debug
run: ctest --preset debug
- name: Build Release
run: cmake --build --preset release
- name: Test Release
run: ctest --preset release