name: macOS Build
on: [push, pull_request]
jobs:
  build:
    runs-on: macOS-latest

    steps:
    - name: Checkout
      uses: actions/checkout@v1

    - name: Installing Node
      uses: actions/setup-node@v1
      with:
        version: 10

    - name: Install deps
      run: |
        sudo npm i -g yarn@1.19.1
        cd app
        yarn
        cd ..
        rm app/node_modules/.yarn-integrity
        yarn

    - name: Build native deps
      run: scripts/build-native.js

    - name: Build typings
      run: yarn run build:typings

    - name: Webpack
      run: yarn run build

    - name: Prepackage plugins
      run: scripts/prepackage-plugins.js

    - name: Build and sign packages
      run: scripts/build-macos.js
      if: github.repository == 'Eugeny/terminus' && github.event_name == 'push'
      env:
        DEBUG: electron-builder,electron-builder:*
        GH_TOKEN: ${{ secrets.GH_TOKEN }}
        CSC_LINK: ${{ secrets.CSC_LINK }}
        CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}

    - name: Build packages without signing
      run: scripts/build-macos.js
      if: github.repository != 'Eugeny/terminus' || github.event_name != 'push'
      env:
        DEBUG: electron-builder,electron-builder:*

    - name: Package artifacts
      run: |
        mkdir artifact-pkg
        mv dist/*.pkg artifact-pkg/
        mkdir artifact-zip
        mv dist/*.zip artifact-zip/

    - uses: actions/upload-artifact@master
      name: Upload PKG
      with:
        name: macOS .pkg
        path: artifact-pkg

    - uses: actions/upload-artifact@master
      name: Upload ZIP
      with:
        name: macOS .zip
        path: artifact-zip
