name: "RequestKit CI"

on: 
  push:
    branches: 
      - master
  pull_request:
    branches: 
      - '*'

jobs:
  macOS:
    name: Test macOS
    runs-on: macOS-latest
    env:
      DEVELOPER_DIR: /Applications/Xcode_13.2.1.app/Contents/Developer
    strategy:
      matrix:
        include:
          - lane: test
            env: osx
          - lane: test
            env: ios
          - lane: test
            env: tvos
    steps:
      - uses: actions/checkout@v2
      - name: install
        run: |
          gem install bundler
          bundle install
      - name: test
        run: |
          set -o pipefail
          bundle exec fastlane ${{ matrix.lane }} --env ${{ matrix.env }}
      - uses: codecov/codecov-action@v1
  spm:
    name: Test with SPM
    runs-on: ubuntu-latest
    container: swift:5.5-focal
    steps:
      - uses: actions/checkout@v2
      - name: SPM Test
        run: swift test --enable-test-discovery
  swiftformat:
    name: Linting
    runs-on: ubuntu-latest
    container: swift:5.3-focal
    steps:
      - uses: actions/checkout@v2
      - name: Install SwiftFormat
        run: |
          git clone https://github.com/nicklockwood/SwiftFormat.git
          cd SwiftFormat
          swift build -c release
      - name: Lint
        run: |
          cd SwiftFormat
          swift run -c release swiftformat ../ --lint --exclude .

name: "RequestKit CI"

on: 
  push:
    branches: 
      - master
  pull_request:
    branches: 
      - '*'

jobs:
  macOS:
    name: Test macOS
    runs-on: macOS-latest
    env:
      DEVELOPER_DIR: /Applications/Xcode_13.2.1.app/Contents/Developer
    strategy:
      matrix:
        include:
          - lane: test
            env: osx
          - lane: test
            env: ios
          - lane: test
            env: tvos
    steps:
      - uses: actions/checkout@v2
      - name: install
        run: |
          gem install bundler
          bundle install
      - name: test
        run: |
          set -o pipefail
          bundle exec fastlane ${{ matrix.lane }} --env ${{ matrix.env }}
      - uses: codecov/codecov-action@v1
  spm:
    name: Test with SPM
    runs-on: ubuntu-latest
    strategy:
      matrix:
        swift_version:
          - 5.5.1
          - 5.5.2
          - 5.5.3
      fail-fast: false
    container: swift:${{ matrix.swift_version }}-focal
    steps:
      - uses: actions/checkout@v2
      - name: SPM Test
        run: swift test --enable-test-discovery
  swiftformat:
    name: Linting
    runs-on: ubuntu-latest
    container: swift:5.3-focal
    steps:
      - uses: actions/checkout@v2
      - name: Install SwiftFormat
        run: |
          git clone https://github.com/nicklockwood/SwiftFormat.git
          cd SwiftFormat
          swift build -c release
      - name: Lint
        run: |
          cd SwiftFormat
          swift run -c release swiftformat ../ --lint --exclude .

Add matrix to test whether or not it supports async/await
Add matrix to test whether or not it supports async/await
