name: OSX

on:
  pull_request:
    paths:
      - '**.c'
      - '**.h'
      - '**.m'
      - .github/workflows/macos.yml
      - .github/setup-macos.sh
      - .github/cleanup-macos.sh
      - .github/build.sh
      - .github/push-artifacts.sh
      - '**.am'
      - MacOSX/**
  push:

permissions:
  contents: read  #  to fetch code (actions/checkout)

jobs:
  build:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v2
      - run: .github/setup-macos.sh
        env:
          KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
          PASS_SECRETS_TAR_ENC: ${{ secrets.PASS_SECRETS_TAR_ENC }}
      - run: .github/build.sh
        env:
          CODE_SIGN_IDENTITY: ${{ secrets.CODE_SIGN_IDENTITY }}
          DEVELOPMENT_TEAM: ${{ secrets.DEVELOPMENT_TEAM }}
          INSTALLER_SIGN_IDENTITY: ${{ secrets.INSTALLER_SIGN_IDENTITY }}
      - name: Cache build artifacts
        uses: actions/upload-artifact@v2
        with:
          name: opensc-build-macos
          path:
            OpenSC*.dmg
      - run: .github/cleanup-macos.sh
        env:
          KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
          PASS_SECRETS_TAR_ENC: ${{ secrets.PASS_SECRETS_TAR_ENC }}

  push-artifacts:
    runs-on: macos-latest
    needs: [build]
    steps:
      - uses: actions/checkout@v2
      - name: Pull build artifacts
        uses: actions/download-artifact@v2
        with:
          name: opensc-build-macos
      - run: git config --global user.email "builds@github.com"
      - run: git config --global user.name "Github Actions";
      - run: .github/push_artifacts.sh "Github Actions ${GITHUB_REF}"
        if: ${{ github.repository == 'OpenSC/OpenSC' }}
