name: Build Linux
on: [push, pull_request]

jobs:
  build:
    name: Build Linux
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Install System Dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y \
            libxkbcommon-x11-0 \
            libxcb-icccm4 \
            libxcb-image0 \
            libxcb-keysyms1 \
            libxcb-randr0 \
            libxcb-render-util0 \
            libxcb-xinerama0 \
            libxcb-xinput0 \
            libxcb-xfixes0 \
            libxcb-shape0 \
            libgl1-mesa-glx \
            libegl1-mesa \
            libdbus-1-3 \
            libx11-xcb1

      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'

      - name: Install Dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt

      - name: Build Executable
        run: |
          pyinstaller --onefile --windowed --name TeletextEditor_Linux --paths src --add-data "app_icon.png:." src/main.py

      - name: Upload Artifact
        uses: actions/upload-artifact@v3
        with:
          name: TeletextEditor-Linux
          path: dist/TeletextEditor_Linux