name: Build Project

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest
    # We explicitly use a container that has build tools, or we install them.
    # If your Gitea runner uses a minimal image, we make sure to update and install gcc/make.

    steps:
    # 1. Check out the repository code
    - name: Checkout code
      uses: actions/checkout@v4

    # 2. Install compiler, X11, and Raylib dependencies
    - name: Install Dependencies
      run: |
        # Gitea runners sometimes run as root inside the container, so 'sudo' might not be needed or installed.
        # This check safely uses sudo only if it is available.
        if command -v sudo >/dev/null 2>&1; then SUDO="sudo"; else SUDO=""; fi
        $SUDO apt-get update
        $SUDO apt-get install -y build-essential gcc make libraylib-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev

    # 3. Compile the project using your Makefile
    - name: Compile with Makefile
      run: make

    # 4. Upload the compiled binary as a build artifact in Gitea
    - name: Upload Build Artifact
      uses: actions/upload-artifact@v4
      with:
        name: wrldbox-binary
        path: wrldbox