name: test | test server start on: workflow_dispatch: pull_request: types: [labeled, synchronize] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true env: RUNTIME__LOG_LEVEL: ERROR ENV: 'dev' jobs: run_server: name: Test cognee server start runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Check out uses: actions/checkout@master - name: Setup Python uses: actions/setup-python@v5 with: python-version: '3.12.x' - name: Install Poetry # https://github.com/snok/install-poetry#running-on-windows uses: snok/install-poetry@v1.4.1 with: virtualenvs-create: true virtualenvs-in-project: true installer-parallel: true - name: Install dependencies run: | poetry install --extras api --no-interaction - name: Run cognee server env: ENV: 'dev' LLM_MODEL: ${{ secrets.LLM_MODEL }} LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }} LLM_API_KEY: ${{ secrets.LLM_API_KEY }} LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }} EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }} EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }} EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }} EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }} run: | poetry run uvicorn cognee.api.client:app --host 0.0.0.0 --port 8000 & echo $! > server.pid sleep 10 - name: Check server process run: | if ! ps -p $(cat server.pid) > /dev/null; then echo "::error::Server failed to start" exit 1 fi - name: Stop server run: | kill $(cat server.pid) || true - name: Clean up disk space run: | sudo rm -rf ~/.cache sudo rm -rf /tmp/* sudo rm server.pid df -h