Skip to content

PROV-AGENT-LOOP and Codex Adapter Implementation #299

PROV-AGENT-LOOP and Codex Adapter Implementation

PROV-AGENT-LOOP and Codex Adapter Implementation #299

Workflow file for this run

name: LLM Tests
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.11", "3.12" ]
env:
MONGO_ENABLED: true
LMDB_ENABLED: false
OMP_NUM_THREADS: "1"
MKL_NUM_THREADS: "1"
timeout-minutes: 60
if: "!contains(github.event.head_commit.message, 'CI Bot')"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
# cache: "pip"
- name: Show OS Info
run: '[[ "$OSTYPE" == "linux-gnu"* ]] && { echo "OS Type: Linux"; (command -v lsb_release &> /dev/null && lsb_release -a) || cat /etc/os-release; uname -r; } || [[ "$OSTYPE" == "darwin"* ]] && { echo "OS Type: macOS"; sw_vers; uname -r; } || echo "Unsupported OS type: $OSTYPE"'
- name: Start docker compose with redis
run: make services-mongo
- name: Upgrade pip
run: |
python -m pip install --upgrade pip
python --version
- name: Install dependencies
run: pip install .[extras,ml_dev,dask,mongo]
- name: Init LLM test settings
run: |
rm -f "${FLOWCEPT_SETTINGS_PATH:-$HOME/.flowcept/settings.yaml}"
flowcept --init-settings --full --dask -y
flowcept --config-profile full-online -y
- name: Test LLM with Dask cluster
env:
DASK_DISTRIBUTED__LOGGING__DISTRIBUTED: critical
run: |
set -euo pipefail
for attempt in 1 2; do
echo "LLM Dask cluster run attempt=${attempt}"
if timeout 1800 python examples/llm_complex/llm_main_example.py --start-dask-cluster; then
break
fi
if [ "${attempt}" -eq 2 ]; then
echo "LLM Dask cluster run failed after retries."
exit 1
fi
echo "Retrying after transient failure..."
sleep 10
done
- name: Cleanup orphan Dask processes
if: always()
run: |
pkill -f "dask scheduler" || true
pkill -f "dask worker" || true
- name: Test LLM without Flowcept
run: |
pip list
python examples/llm_complex/llm_main_example.py --with-flowcept false
- name: Test LLM
run: bash .github/workflows/run_examples.sh examples true llm_complex/llm_test_runner.py
- name: Cleanup orphan Dask processes (post-llm)
if: always()
run: |
pkill -f "dask scheduler" || true
pkill -f "dask worker" || true
- name: Shut down docker compose
run: make services-stop-mongo
- name: Clean up
run: |
make clean
test -d /home/runner/runners/ && find /home/runner/runners/ -type f -name "*.log" -exec sh -c 'echo {}; >"{}"' \; || true
docker image prune -a -f
- name: List large files
run: find . -type f -exec du -h {} + | sort -h