Some checks failed
Bigfoot / Clang Format Checks (push) Successful in 11s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Has been cancelled
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Has been cancelled
Bigfoot / Build And Upload Conan Dependencies to BigfootPackages (push) Has been cancelled
124 lines
4.2 KiB
YAML
124 lines
4.2 KiB
YAML
name: Bigfoot
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '**'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
conan-dependencies:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 120
|
|
container:
|
|
image: git.romainboullard.com/bigfootdev/linuxbigfootbuilder:main
|
|
volumes:
|
|
- /srv/romainboullard.com/caches/ccache:/ccache
|
|
env:
|
|
ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }}
|
|
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
|
|
|
|
CCACHE_DIR: /ccache
|
|
CCACHE_MAXSIZE: 10G
|
|
CCACHE_BASEDIR: /root/.conan2
|
|
CCACHE_NOHASHDIR: "true"
|
|
CCACHE_COMPILERCHECK: "%compiler% -dumpversion"
|
|
name: "Build And Upload Conan Dependencies to BigfootPackages"
|
|
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: Reset ccache stats
|
|
run: ccache --zero-stats
|
|
|
|
- name: Build
|
|
run: |
|
|
for build_type in Debug RelWithDebInfo Release; do
|
|
conan install . --remote=bigfootpackages \
|
|
-pr:h=./ConanProfiles/clang -pr:b=./ConanProfiles/clang \
|
|
--build=missing \
|
|
-s build_type=$build_type \
|
|
-o bigfoot/*:build_tests=True \
|
|
-o bigfoot/*:tracy=False \
|
|
-o bigfoot/*:vulkan=True
|
|
done
|
|
conan install . --remote=bigfootpackages \
|
|
-pr:h=./ConanProfiles/clang_asan -pr:b=./ConanProfiles/clang_asan \
|
|
--build=missing \
|
|
-s build_type=$build_type \
|
|
-o bigfoot/*:build_tests=True \
|
|
-o bigfoot/*:tracy=False \
|
|
-o bigfoot/*:vulkan=True
|
|
|
|
- name: Show ccache stats
|
|
run: ccache --show-stats
|
|
|
|
- name: Upload
|
|
run: CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} conan upload "*" -r bigfootpackages --confirm
|
|
|
|
build-and-test:
|
|
needs: conan-dependencies
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 120
|
|
container:
|
|
image: git.romainboullard.com/bigfootdev/linuxbigfootbuilder:main
|
|
volumes:
|
|
- /srv/romainboullard.com/caches/ccache:/ccache
|
|
env:
|
|
CCACHE_DIR: /ccache
|
|
CCACHE_MAXSIZE: 10G
|
|
CCACHE_COMPILERCHECK: "%compiler% -dumpversion"
|
|
strategy:
|
|
matrix:
|
|
build_type: ["Debug", "RelWithDebInfo", "Release"]
|
|
unity_build: ["ON", "OFF"]
|
|
conan_profile: ["./ConanProfiles/clang", "./ConanProfiles/clang_asan"]
|
|
name: "Build & Test ${{ matrix.build_type }} with ${{ matrix.conan_profile }} (Unity Build: ${{ matrix.unity_build }})"
|
|
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: Reset ccache stats
|
|
run: ccache --zero-stats
|
|
|
|
- name: Build
|
|
run: |
|
|
conan install . --remote=bigfootpackages -pr:h=${{ matrix.conan_profile }} -pr:b=${{ matrix.conan_profile }} --build=never -s build_type=${{ matrix.build_type }} -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:vulkan=True
|
|
cmake -S . -B ./build/${{ matrix.build_type }} --toolchain ./build/${{ matrix.build_type }}/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_UNITY_BUILD=${{ matrix.unity_build }} -G "Ninja"
|
|
cmake --build build/${{ matrix.build_type }} --parallel $(nproc)
|
|
|
|
- name: Show ccache stats
|
|
run: ccache --show-stats
|
|
|
|
- name: Unit Tests
|
|
run: |
|
|
cd ./build/${{ matrix.build_type }}
|
|
xvfb-run ctest . --output-on-failure
|
|
|
|
clang-format:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 120
|
|
container:
|
|
image: git.romainboullard.com/bigfootdev/linuxbigfootbuilder: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 Bigfoot |