diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 3049ff1..6740831 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -14,6 +14,41 @@ env: CCACHE_COMPILERCHECK: "%compiler% -dumpversion" 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 + 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: Build + run: | + for profile in ./ConanProfiles/clang ./ConanProfiles/clang_asan; do + for build_type in Debug RelWithDebInfo Release; do + conan install . --remote=bigfootpackages \ + -pr:h=$profile -pr:b=$profile \ + --build=missing \ + -s build_type=$build_type \ + -o bigfoot/*:build_tests=True \ + -o bigfoot/*:tracy=False \ + -o bigfoot/*:build_tools=True \ + -o bigfoot/*:vulkan=True + done + done + + - name: Upload + run: conan upload "*" -r bigfootpackages --confirm + build-and-test: runs-on: ubuntu-latest timeout-minutes: 120 @@ -25,7 +60,7 @@ jobs: matrix: build_type: ["Debug", "RelWithDebInfo", "Release"] unity_build: ["ON", "OFF"] - conan_profile: ["./ConanProfiles/clang", "./ConanProfiles/clangd_asan"] + 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 @@ -36,16 +71,16 @@ jobs: with: submodules: recursive - - name: Show ccache stats before + - 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=missing -s build_type=${{ matrix.build_type }} -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True + 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/*:build_tools=True -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 after + - name: Show ccache stats run: ccache --show-stats - name: Unit Tests @@ -53,10 +88,6 @@ jobs: cd ./build/${{ matrix.build_type }} xvfb-run ctest . --output-on-failure - - name: Upload built packages - run: | - conan upload "*" -r bigfootpackages --confirm - clang-format: runs-on: ubuntu-latest timeout-minutes: 120 diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index 5cba42a..f566264 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -12,6 +12,8 @@ jobs: timeout-minutes: 120 container: image: git.romainboullard.com/bigfootdev/linuxbigfootbuilder:main + volumes: + - /srv/romainboullard.com/caches/ccache:/ccache name: "Sonarqube" steps: - name: Install Node.js @@ -23,9 +25,14 @@ jobs: fetch-depth: 0 submodules: recursive - - name: Generate + - name: Build And Upload Conan Dependencies run: | conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang_coverage -pr:b=./ConanProfiles/clang_coverage --build=missing -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True + conan upload "*" -r bigfootpackages --confirm + + - name: Build + run: | + conan install . --remote=bigfootpackages -pr:h=./ConanProfiles/clang_coverage -pr:b=./ConanProfiles/clang_coverage --build=never -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True cmake -S . -B ./build/Debug --toolchain ./build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -G "Ninja" cmake --build build/Debug --parallel $(nproc)