name: Python
env:
  PYTHON_VERSION: "3.14"

on:
  push:
    branches:
      - master

jobs:
  win:
    name: Windows (windows-latest)
    runs-on: windows-latest
    steps:
      - name: Git Clone
        uses: actions/checkout@v6

      - name: Set up Python ${{ env.PYTHON_VERSION }}
        uses: actions/setup-python@v6
        with:
          python-version: ${{ env.PYTHON_VERSION }}

      - name: Install Python packages
        run: |
          python -m pip install --upgrade pip
          pip install wget
          pip install pyinstaller

      - name: Build executable (image_galleries_gui.py)
        run: pyinstaller --onefile --windowed python\image_galleries_gui.py

      - name: Upload artifact (image_galleries_gui.py)
        uses: actions/upload-artifact@v7
        with:
          name: image_galleries_gui_win
          path: dist\image_galleries_gui.exe

      - name: Build executable (hash_sums_gui.py)
        run: pyinstaller --onefile --windowed python\hash_sums_gui.py

      - name: Upload artifact (hash_sums_gui.py)
        uses: actions/upload-artifact@v7
        with:
          name: hash_sums_gui_win
          path: dist\hash_sums_gui.exe

  linux:
    name: Linux (ubuntu-latest)
    runs-on: ubuntu-latest
    steps:
      - name: Git Clone
        uses: actions/checkout@v6

      - name: Set up Python ${{ env.PYTHON_VERSION }}
        uses: actions/setup-python@v6
        with:
          python-version: ${{ env.PYTHON_VERSION }}

      - name: Install Python packages
        run: |
          python -m pip install --upgrade pip
          pip install wget
          pip install pyinstaller

      - name: Build executable (image_galleries_gui.py)
        run: pyinstaller --onefile python/image_galleries_gui.py

      - name: Upload artifact (image_galleries_gui.py)
        uses: actions/upload-artifact@v7
        with:
          name: image_galleries_gui_linux
          path: dist/image_galleries_gui

      - name: Build executable (hash_sums_gui.py)
        run: pyinstaller --onefile python/hash_sums_gui.py

      - name: Upload artifact (hash_sums_gui.py)
        uses: actions/upload-artifact@v7
        with:
          name: hash_sums_gui_linux
          path: dist/hash_sums_gui
