name: CI

# Controls when the action will run. 
on:
  # Triggers the workflow on push or pull request events
  push:
  pull_request:
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

env:
  # See: https://github.com/actions/virtual-environments/tree/main/images/macos
  XCODE_DEV_PATH: /Applications/Xcode_12.2.app/Contents/Developer

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  build:
    strategy:
      matrix:
        include:
          - platform: "macos"
          - platform: "maccat"
          - platform: "ios"
          - platform: "tvos"
      fail-fast: false

    name: 'MoltenVK (${{ matrix.platform }})'
    
    # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/specifications-for-github-hosted-runners#supported-runners-and-hardware-resources
    runs-on: macos-latest

    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2

      - name: Select Xcode version
        run: sudo xcode-select -switch "${XCODE_DEV_PATH}"

      - name: Prep
        id: prep
        run: |
          echo "Get Xcode version info"
          XCODE_VERSION="$(xcodebuild -version)"
          echo "${XCODE_VERSION}"
          XCODE_VERSION="$(echo "${XCODE_VERSION}" | tr '\t\r\n ' '_')"
          echo "${XCODE_VERSION}"
          echo "::set-output name=XCODE_VERSION::${XCODE_VERSION}"

      - name: Cache Dependencies
        id: cache-dependencies
        if: success() && !(github.event_name == 'push' && contains(github.ref, 'refs/tags/')) # never cache dependencies for pushed tags
        uses: actions/cache@v2
        with:
          path: |
            External/build
            !External/build/Intermediates
          key: ${{ runner.os }}-${{ steps.prep.outputs.XCODE_VERSION }}-${{ matrix.platform }}-${{ hashFiles('fetchDependencies','ExternalRevisions/**','ExternalDependencies.xcodeproj/**','Scripts/**') }}

      - name: Fetch Dependencies (Use Built Cache)
        if: steps.cache-dependencies.outputs.cache-hit == 'true'
        run: |
          ./fetchDependencies -v --none

      - name: Fetch Dependencies
        if: steps.cache-dependencies.outputs.cache-hit != 'true'
        run: |
          ./fetchDependencies -v --${{ matrix.platform }}

      - name: Output Dependency Build Logs on Failure
        if: failure()
        run: cat "dependenciesbuild.log"

      - name: Build MoltenVK
        run: |
          make ${{ matrix.platform }}

      - name: Output MoltenVK Build Logs on Failure
        if: failure()
        run: |
          if [ -f "xcodebuild.log" ]; then
            cat "xcodebuild.log"
          fi

      - name: Tar Artifacts
        # See: https://github.com/actions/upload-artifact#maintaining-file-permissions-and-case-sensitive-files
        run: tar -cvf "${{ matrix.platform }}.tar" Package/Release/

      - name: Upload Artifacts
        uses: actions/upload-artifact@v2
        with:
          name: ${{ matrix.platform }}
          path: "${{ matrix.platform }}.tar"
