name: Build Python Executable

on:
  push:
    branches:
      - main
  schedule:
    # - cron: "0 0 * * 0"  # Runs weekly on Sunday at midnight UTC
    # - cron: "*/1 * * * *"  # Runs every 1 minute
    - cron: "0 0 0 0 0"

jobs:
  build:
    runs-on: ubuntu-latest  # Matches the label you assigned to your Gitea runner

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Set Up Python 3.9.13
        uses: actions/setup-python@v4
        with:
          python-version: "3.9.13"

      - name: Create virtual environment
        run: |
          python3.9 -m venv venv
          python --version

      - name: Install dependencies
        run: |
          source venv/bin/activate
          python --version
          pip install aiohttp
          pip install zope.interface
          pip install pip wheel build ./deps/cod_api-2.0.2-py3-none-any.whl
          pip install pyinstaller==6.0.0
          pip uninstall enum34 -y
          pyinstaller cod_api_tool.py --name cod_api_tool.exe --noconfirm --onefile --console --distpath bin/build --add-data=deps/frequencies.json:charset_normalizer/assets --add-data=data/replacements.json:data

      - name: Upload Build Artifacts
        uses: actions/upload-artifact@v3
        with:
          name: cod_api_tool
          path: bin/build/cod_api_tool.exe
