Skip to content
43 changes: 12 additions & 31 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ env:
jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: self-hosted
runs-on: [self-hosted, Windows]

# Set the permissions to the lowest permissions possible needed for your steps.
# Copilot will be given its own token for its operations.
Expand All @@ -36,42 +36,23 @@ jobs:
submodules: recursive

- name: Unshallow vcpkg submodule
shell: pwsh
run: |
cd external/vcpkg
git fetch --unshallow || true
cd ../..
git fetch --unshallow 2>$null; if (-not $?) { Write-Host "Already unshallowed or fetch failed (continuing)" }
exit 0

- name: Install Packages
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libgl1-mesa-dev libglu-dev

- name: Install CUDA (via NVIDIA's repo)
run: |
sudo apt-get update
sudo apt-get install -y gnupg software-properties-common wget
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y cuda-compiler-13-0

- name: Add CUDA to PATH
run: |
echo "/usr/local/cuda/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV

- name: Bootstrap vcpkg
shell: pwsh
run: |
pushd external/vcpkg
./bootstrap-vcpkg.sh -disableMetrics
popd
Push-Location external/vcpkg
.\bootstrap-vcpkg.bat -disableMetrics
Pop-Location

- name: Configure CMake (mit vcpkg Manifest-Mode)
run: >
cmake -S . -B build
-DCMAKE_TOOLCHAIN_FILE=external/vcpkg/scripts/buildsystems/vcpkg.cmake
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc
- name: Configure CMake
shell: pwsh
run: cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE="external\vcpkg\scripts\buildsystems\vcpkg.cmake" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_CUDA_COMPILER=nvcc

- name: Build
shell: pwsh
run: cmake --build build -j32
2 changes: 1 addition & 1 deletion .github/workflows/ubuntu-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: self-hosted
runs-on: [self-hosted, Linux]

steps:
- uses: actions/checkout@v4
Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/windows-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: CMake (Windows)

on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]


env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MCP_AUTH_TOKEN: ${{ secrets.MCP_AUTH_TOKEN }}

jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: [self-hosted, Windows]

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Unshallow vcpkg submodule
shell: pwsh
run: |
cd external/vcpkg
git fetch --unshallow 2>$null; if (-not $?) { Write-Host "Already unshallowed or fetch failed (continuing)" }
exit 0

- name: Bootstrap vcpkg
shell: pwsh
run: |
Push-Location external/vcpkg
.\bootstrap-vcpkg.bat -disableMetrics
Pop-Location

- name: Configure CMake
shell: pwsh
run: cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE="external\vcpkg\scripts\buildsystems\vcpkg.cmake" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_CUDA_COMPILER=nvcc

- name: Build
shell: pwsh
run: cmake --build build -j32
Loading