Files
Bin2CPP/.gitea/workflows/ci.yml
Romain BOULLARD 4f4cd59b8e
All checks were successful
Bin2CPP / Build & Test Debug (ASAN, LSAN, UBSAN) (push) Successful in 50s
Bin2CPP / Build & Test RelWithDebInfo (ASAN, LSAN, UBSAN) (push) Successful in 1m4s
Bin2CPP / Clang Format Checks (push) Successful in 8s
Bin2CPP / Build & Test Release (push) Successful in 33s
less sanitizers
2026-02-22 11:39:21 +01:00

69 lines
2.2 KiB
YAML

name: Bin2CPP
on:
push:
branches:
- '**'
workflow_dispatch:
env:
CCACHE_BASEDIR: ${{ github.workspace }}
jobs:
build-and-test:
runs-on: ubuntu-latest
timeout-minutes: 120
container:
image: git.romainboullard.com/bigfootdev/linuxcppbuilder:main
strategy:
matrix:
build_type: ["Debug", "RelWithDebInfo", "Release"]
include:
- build_type: Release
conan_profile: ./ConanProfiles/clang
name: Release
- build_type: Debug
conan_profile: ./ConanProfiles/clangd
name: Debug (ASAN, LSAN, UBSAN)
- build_type: RelWithDebInfo
conan_profile: ./ConanProfiles/clangd
name: RelWithDebInfo (ASAN, LSAN, UBSAN)
name: "Build & Test ${{ matrix.name }}"
steps:
- name: Install Node.js
run: apt-get update && apt-get install -y nodejs
- name: Checkout repository
uses: actions/checkout@v6
with:
submodules: recursive
- name: Build
run: |
conan profile detect
conan install . --deployer=full_deploy --deployer-folder=build --remote=bigfootpackages -pr:h=${{ matrix.conan_profile }} -pr:b=${{ matrix.conan_profile }} --build=missing -s build_type=${{ matrix.build_type }}
cmake -S . -B ./build/${{ matrix.build_type }} --toolchain ./build/${{ matrix.build_type }}/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -G "Ninja"
cmake --build build/${{ matrix.build_type }} --parallel $(nproc)
- name: Unit Tests
run: |
cd ./build/${{ matrix.build_type }}
ctest . --output-on-failure
clang-format:
runs-on: ubuntu-latest
timeout-minutes: 120
container:
image: git.romainboullard.com/bigfootdev/linuxcppbuilder:main
name: "Clang Format Checks"
steps:
- name: Install Node.js
run: apt-get update && apt-get install -y nodejs
- name: Checkout repository
uses: actions/checkout@v6
with:
submodules: recursive
- name: Clang Format Checks
run: chmod +x format.sh && ./format.sh --check Bin2CPP