diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 00000000..6b946ed1 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,58 @@ +name: "Copilot Setup Steps" + +# Automatically run the setup steps when they are changed to allow for easy validation, and +# allow manual testing through the repository's "Actions" tab +on: + workflow_dispatch: + push: + paths: + - .github/workflows/copilot-setup-steps.yml + pull_request: + paths: + - .github/workflows/copilot-setup-steps.yml + +jobs: + # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. + copilot-setup-steps: + runs-on: ubuntu-latest + + # Timeout after 30 minutes (maximum is 59) + timeout-minutes: 30 + + # You can define any steps you want, and they will run before the agent starts. + # If you do not check out your code, Copilot will do this for you. + steps: + - name: Checkout code + uses: actions/checkout@v5 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Cache pip packages + uses: actions/cache@v4 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-copilot-${{ hashFiles('**/pyproject.toml') }} + restore-keys: | + ${{ runner.os }}-pip-copilot- + ${{ runner.os }}-pip- + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install -e ".[api]" + pip install pytest pytest-asyncio httpx + + - name: Create minimal frontend stub for Copilot agent + run: | + mkdir -p lightrag/api/webui + echo 'LightRAG - Copilot Agent

Copilot Agent Mode

' > lightrag/api/webui/index.html + echo "Created minimal frontend stub for Copilot agent environment" + + - name: Verify installation + run: | + python --version + pip list | grep lightrag + lightrag-server --help || echo "Note: Server requires .env configuration to run"