From bd1d6294a883e8d242f495e3d60241f7ac1d6066 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 19 Sep 2025 13:43:28 +0000 Subject: [PATCH 1/3] Initial plan From 0c7256ba9c013fea28232adb019d39c3591b78e4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 19 Sep 2025 13:53:46 +0000 Subject: [PATCH 2/3] Add GitHub Actions workflow and fix MinGW toolchain path Co-authored-by: cracked-machine <7586660+cracked-machine@users.noreply.github.com> --- .clangd | 2 +- .github/workflows/build.yml | 65 ++++++++++++++++++++++++ toolchain/cmake-x86_64-w64-mingw32.cmake | 4 +- 3 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.clangd b/.clangd index 1043a23..b13c2c2 100644 --- a/.clangd +++ b/.clangd @@ -1,5 +1,5 @@ CompileFlags: - CompilationDatabase: build-x86_64-w64-mingw32 + CompilationDatabase: build-x86_64-linux-gnu Add: - -isystem/workspaces/loopback_tests/build/_deps/spdlog-src/include - -isystem/workspaces/loopback_tests/build/_deps/entt-src/src diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..62d9ff8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,65 @@ +name: Build Matrix + +on: + push: + branches: [ main, develop ] + pull_request: + branches: [ main, develop ] + +jobs: + build: + name: Build ${{ matrix.config }} for ${{ matrix.arch }} + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + config: [Debug, Release, RelWithDebInfo, MinSizeRel] + arch: [x86_64-linux-gnu, x86_64-w64-mingw32] + + container: + image: debian:trixie + options: --user root + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + export DEBIAN_FRONTEND=noninteractive + apt update -y + apt install -y \ + clangd \ + clang-format \ + sudo \ + locales \ + doxygen \ + git \ + build-essential \ + make \ + pkg-config \ + cmake \ + ninja-build \ + yq \ + jq \ + gcc-mingw-w64-x86-64 \ + g++-mingw-w64-x86-64 + + - name: Setup locale + run: | + locale-gen en_GB.UTF-8 + update-locale + + - name: Make build script executable + run: chmod +x scripts/build.sh + + - name: Build ${{ matrix.config }} for ${{ matrix.arch }} + run: ./scripts/build.sh ${{ matrix.config }} ${{ matrix.arch }} + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: build-${{ matrix.config }}-${{ matrix.arch }} + path: build-${{ matrix.arch }}/bin/ + retention-days: 7 \ No newline at end of file diff --git a/toolchain/cmake-x86_64-w64-mingw32.cmake b/toolchain/cmake-x86_64-w64-mingw32.cmake index f998603..af056e8 100755 --- a/toolchain/cmake-x86_64-w64-mingw32.cmake +++ b/toolchain/cmake-x86_64-w64-mingw32.cmake @@ -21,6 +21,6 @@ set(CMAKE_SYSTEM_INCLUDE_PATH /usr/x86_64-w64-mingw32/include) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ldbghelp") # runtime deps for mingw -file( COPY /usr/lib/gcc/x86_64-w64-mingw32/14-win32/libstdc++-6.dll build-${BUILD_ARCH}/bin/libstdc++-6.dll - /usr/lib/gcc/x86_64-w64-mingw32/14-win32/libgcc_s_seh-1.dll build-${BUILD_ARCH}/bin/libgcc_s_seh-1.dll +file( COPY /usr/lib/gcc/x86_64-w64-mingw32/13-win32/libstdc++-6.dll + /usr/lib/gcc/x86_64-w64-mingw32/13-win32/libgcc_s_seh-1.dll DESTINATION ${CMAKE_BINARY_DIR}/bin/ ) From 6b9818f29ebf05602d2e03be849774db45a16848 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 19 Sep 2025 13:55:32 +0000 Subject: [PATCH 3/3] Add GitHub Actions workflow with Docker matrix builds for all CMake configs and architectures Co-authored-by: cracked-machine <7586660+cracked-machine@users.noreply.github.com> --- .clangd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.clangd b/.clangd index b13c2c2..1043a23 100644 --- a/.clangd +++ b/.clangd @@ -1,5 +1,5 @@ CompileFlags: - CompilationDatabase: build-x86_64-linux-gnu + CompilationDatabase: build-x86_64-w64-mingw32 Add: - -isystem/workspaces/loopback_tests/build/_deps/spdlog-src/include - -isystem/workspaces/loopback_tests/build/_deps/entt-src/src