# Name: Video2X Nightly Build
# Creator: K4YT3X
# Date Created: May 12, 2020
# Last Modified: May 28, 2020

name: Video2X Nightly Build

on:
  push:
    branches: [master]

defaults:
  run:
    working-directory: src

jobs:
  build:
    runs-on: windows-latest

    steps:
      - uses: actions/checkout@v2
      - name: Setup Python 3.8
        uses: actions/setup-python@v2
        with:
          python-version: 3.8
      - name: Install dependencies
        run: |
          python -m pip install -U pip
          pip install -U pyinstaller pywin32
          pip install -U -r requirements.txt
      - name: Build Video2X CLI
        run: |
          pyinstaller --noconfirm --log-level=WARN `
              --onefile `
              --add-data="locale;locale" `
              --add-data="wrappers;wrappers" `
              --icon="images\video2x.ico" `
              video2x.py
      - name: Build Video2X GUI
        run: |
          pyinstaller --noconfirm --log-level=WARN `
              --onefile `
              --add-data="images;images" `
              --add-data="locale;locale" `
              --add-data="video2x_gui.ui;." `
              --add-data="wrappers;wrappers" `
              --icon="images\video2x.ico" `
              video2x_gui.py
      - name: Build Video2X setup script
        run: |
          pyinstaller --noconfirm --log-level=WARN `
              --onefile `
              --additional-hooks-dir "pyinstaller\hooks" `
              --add-data="locale;locale" `
              --add-data="pyinstaller\7z1900-extra;7z" `
              --icon="images\video2x.ico" `
              video2x_setup.py
      - name: Collect artifacts into folder
        run: |
          New-Item "video2x-nightly-win32-light\" -ItemType Directory
          Copy-Item "dist\video2x.exe" -Destination "video2x-nightly-win32-light\"
          Copy-Item "dist\video2x_gui.exe" -Destination "video2x-nightly-win32-light\"
          Copy-Item "dist\video2x_setup.exe" -Destination "video2x-nightly-win32-light\"
          Copy-Item "video2x.yaml" -Destination "video2x-nightly-win32-light\"
      - name: Upload artifacts
        uses: actions/upload-artifact@v2
        with:
          name: video2x-nightly-win32-light
          path: src/video2x-nightly-win32-light/