
name: Check if Cog buildable
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  build:
    name: Build Universal Cog.app
    runs-on: macos-12
    env:
      XCODE_DERIVEDDATA_PATH: build
    steps:
      - name: Check out repository
        uses: actions/checkout@v2
        with:
          submodules: recursive
      - name: Unpack libraries
        run: >
          cd ThirdParty && tar xvf libraries.tar.xz
      - name: Run xcodebuild
        run: >
          xcodebuild
          -quiet
          -project Cog.xcodeproj
          -scheme Cog
          -configuration Debug
          -arch x86_64
          -arch arm64
          -derivedDataPath $XCODE_DERIVEDDATA_PATH
          CODE_SIGNING_ALLOWED=NO
          ONLY_ACTIVE_ARCH=NO
          build
      - name: Package archive
        run: >
          ditto
          -c
          -k
          --sequesterRsrc
          --keepParent
          --zlibCompressionLevel 9
          $XCODE_DERIVEDDATA_PATH/Build/Products/Debug/Cog.app
          $XCODE_DERIVEDDATA_PATH/Cog.zip
      - name: Upload Artifact
        uses: actions/upload-artifact@v2
        with:
          name: Cog
          path: ${{ env.XCODE_DERIVEDDATA_PATH }}/Cog.zip
