diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0e52c0a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,75 @@ +name: Continuous Integration +on: [push, pull_request] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read # to fetch code (actions/checkout) + +jobs: + build-only-desktop: + name: Build only (Desktop) + runs-on: ubuntu-latest + timeout-minutes: 60 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install .NET 8.0.x + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: Build + run: dotnet build -c Debug SDL3-CS.Desktop.slnf + + build-only-android: + name: Build only (Android) + runs-on: windows-latest + timeout-minutes: 60 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup JDK 11 + uses: actions/setup-java@v4 + with: + distribution: microsoft + java-version: 11 + + - name: Install .NET 8.0.x + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: Install .NET workloads + run: dotnet workload install android + + - name: Build + run: dotnet build -c Debug SDL3-CS.Android.slnf + + build-only-ios: + name: Build only (iOS) + runs-on: macos-15 + timeout-minutes: 60 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install .NET 8.0.x + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "8.0.x" + + - name: Install .NET Workloads + run: dotnet workload install ios + + # https://github.com/dotnet/macios/issues/19157 + # https://github.com/actions/runner-images/issues/12758 + - name: Use Xcode 16.4 + run: sudo xcode-select -switch /Applications/Xcode_16.4.app + + - name: Build + run: dotnet build -c Debug SDL3-CS.iOS.slnf