name: PyInstaller test builds

on: [push]

jobs:
  build_ubuntu64_20:

    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python 3.10 x64
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
          architecture: 'x64'
      - name: Update pip
        run: python -m pip install --upgrade pip
      - name: Update builds tools
        run: python -m pip install --upgrade setuptools wheel
      - name: Install dependencies
        run: python -m pip install --upgrade PyQt6 certifi
      - name: Install PyInstaller
        run: python -m pip install --upgrade PyInstaller
      - name: Run pyinst.py
        run: python3 pyinst.py --no-prompts --onefile --no-upx --no-crt --no-clean --windowed
      - name: Create archive (.tar.xz)
        run: tar -cavf Pesterchum_linux64.tar.xz -C dist Pesterchum
      - uses: actions/upload-artifact@v3
        with:
          name: Pesterchum_linux64.tar.xz
          path: Pesterchum_linux64.tar.xz

  build_win64_latest:

    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python 3.10 x64
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
          architecture: 'x64'
      - name: Update pip
        run: python -m pip install --upgrade pip
      - name: Update builds tools
        run: python -m pip install --upgrade setuptools wheel
      - name: Install dependencies
        run: python -m pip install --upgrade PyQt6 certifi
      - name: Install PyInstaller
        run: python -m pip install --upgrade PyInstaller
      - name: Run PyInstaller
        run: python3 pyinst.py --no-prompts --onefile --no-upx --crt --no-clean --windowed
      - name: Create archive (.zip)
        run: tar.exe -a -c -f Pesterchum_win64.zip -C dist Pesterchum
      - uses: actions/upload-artifact@v3
        with:
          name: Pesterchum_win64.zip
          path: Pesterchum_win64.zip
          
  build_macos64_11:

    runs-on: macos-11
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python 3.10 x64
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
          architecture: 'x64'
      - name: Update pip
        run: python -m pip install --upgrade pip
      - name: Update builds tools
        run: python -m pip install --upgrade setuptools wheel
      - name: Install dependencies
        run: python -m pip install --upgrade PyQt6 certifi
      - name: Install PyInstaller
        run: python -m pip install --upgrade PyInstaller
      - name: Run pyinst.py
        run: python3 pyinst.py --no-prompts --onefile --no-upx --no-crt --no-clean --windowed
      - name: Create archive (.tar.xz)
        run: tar -cavf Pesterchum_macOS64.tar.xz -C dist Pesterchum.app
      - uses: actions/upload-artifact@v3
        with:
          name: Pesterchum_macOS64.tar.xz
          path: Pesterchum_macOS64.tar.xz