name: Windows Build
on: [push, pull_request]
jobs:
  build:
    runs-on: windows-2016

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

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

    - name: Build
      shell: powershell
      run: |
        npm i -g yarn@1.19.1
        yarn
        node scripts/build-native.js
        yarn run build
        node scripts/prepackage-plugins.js

    - name: Build and sign packages
      run: node scripts/build-windows.js
      if: github.repository == 'Eugeny/terminus' && github.event_name == 'push'
      env:
        GH_TOKEN: ${{ secrets.GH_TOKEN }}
        WIN_CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
        WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}

    - name: Build packages without signing
      run: node scripts/build-windows.js
      if: github.repository != 'Eugeny/terminus' || github.event_name != 'push'

    - name: Package artifacts
      run: |
        mkdir artifact-setup
        mv dist/*-setup.exe artifact-setup/
        mkdir artifact-portable
        mv dist/*-portable.zip artifact-portable/

    - uses: actions/upload-artifact@master
      name: Upload installer
      with:
        name: Installer
        path: artifact-setup

    - uses: actions/upload-artifact@master
      name: Upload portable build
      with:
        name: Portable build
        path: artifact-portable
