fix(ci): remove container block from dspy-eval, install Python via apt
Some checks failed
DSPy RAG Evaluation / Layer 1 - Unit Tests (push) Failing after 5m25s
DSPy RAG Evaluation / Layer 3 - Integration Tests (push) Has been skipped
DSPy RAG Evaluation / Layer 2 - DSPy Module Tests (push) Has been skipped
DSPy RAG Evaluation / Layer 4 - Comprehensive Evaluation (push) Has been skipped
DSPy RAG Evaluation / Quality Gate (push) Failing after 2s

The Forgejo runner with label ubuntu-latest:docker://node:20-bookworm
does not properly support custom container overrides. Instead of using
container: image: python:3.11-slim, we now install Python from apt-get
in the node:20-bookworm base container (which is Debian-based).

Changes:
- Remove container: blocks from all 4 layer jobs
- Add 'Install Python' step to each job
- Use python3/python3 -m pip/python3 -m pytest commands
- Remove trigger comment from test file
This commit is contained in:
kempersc 2026-01-12 19:21:03 +01:00
parent a7c06ea653
commit 0374cfe622
2 changed files with 34 additions and 28 deletions

View file

@ -49,22 +49,27 @@ jobs:
unit-tests:
name: Layer 1 - Unit Tests
runs-on: ubuntu-latest
container:
image: python:3.11-slim
# Note: No container block - use default node:20-bookworm with Python installed via apt
timeout-minutes: 10
steps:
- uses: https://github.com/actions/checkout@v4
- name: Install Python
run: |
apt-get update
apt-get install -y python3 python3-pip python3-venv
python3 --version
- name: Install dependencies
run: |
pip install --upgrade pip
pip install -e ".[dev]"
pip install rapidfuzz
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"
python3 -m pip install rapidfuzz
- name: Run Layer 1 unit tests
run: |
pytest tests/dspy_gitops/test_layer1_unit.py \
python3 -m pytest tests/dspy_gitops/test_layer1_unit.py \
-v --tb=short \
--junit-xml=layer1-results.xml
@ -81,8 +86,7 @@ jobs:
dspy-module-tests:
name: Layer 2 - DSPy Module Tests
runs-on: ubuntu-latest
container:
image: python:3.11-slim
# Note: No container block - use default node:20-bookworm with Python installed via apt
timeout-minutes: 20
needs: unit-tests
@ -92,17 +96,22 @@ jobs:
steps:
- uses: https://github.com/actions/checkout@v4
- name: Install Python
run: |
apt-get update
apt-get install -y python3 python3-pip python3-venv
- name: Install dependencies
run: |
pip install --upgrade pip
pip install -e ".[dev]"
pip install dspy-ai httpx rapidfuzz litellm
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"
python3 -m pip install dspy-ai httpx rapidfuzz litellm
- name: Run Layer 2 DSPy tests
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
pytest tests/dspy_gitops/test_layer2_dspy.py \
python3 -m pytest tests/dspy_gitops/test_layer2_dspy.py \
-v --tb=short \
--junit-xml=layer2-results.xml
@ -119,8 +128,7 @@ jobs:
integration-tests:
name: Layer 3 - Integration Tests
runs-on: ubuntu-latest
container:
image: python:3.11-slim
# Note: No container block - use default node:20-bookworm with Python installed via apt
timeout-minutes: 15
needs: unit-tests
@ -130,13 +138,13 @@ jobs:
- name: Install system dependencies
run: |
apt-get update
apt-get install -y openssh-client curl
apt-get install -y openssh-client curl python3 python3-pip python3-venv
- name: Install Python dependencies
run: |
pip install --upgrade pip
pip install -e ".[dev]"
pip install httpx pytest-asyncio
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"
python3 -m pip install httpx pytest-asyncio
- name: Setup SSH for tunnel
run: |
@ -169,7 +177,7 @@ jobs:
OXIGRAPH_ENDPOINT: "http://127.0.0.1:7878"
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
pytest tests/dspy_gitops/test_layer3_integration.py \
python3 -m pytest tests/dspy_gitops/test_layer3_integration.py \
-v --tb=short \
--junit-xml=layer3-results.xml
@ -186,8 +194,7 @@ jobs:
comprehensive-eval:
name: Layer 4 - Comprehensive Evaluation
runs-on: ubuntu-latest
container:
image: python:3.11-slim
# Note: No container block - use default node:20-bookworm with Python installed via apt
timeout-minutes: 60
needs: [unit-tests, dspy-module-tests, integration-tests]
@ -200,13 +207,13 @@ jobs:
- name: Install system dependencies
run: |
apt-get update
apt-get install -y openssh-client curl
apt-get install -y openssh-client curl python3 python3-pip python3-venv
- name: Install Python dependencies
run: |
pip install --upgrade pip
pip install -e ".[dev]"
pip install dspy-ai httpx rapidfuzz pandas pytest-json-report litellm
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"
python3 -m pip install dspy-ai httpx rapidfuzz pandas pytest-json-report litellm
- name: Setup SSH for tunnel
run: |
@ -228,7 +235,7 @@ jobs:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OXIGRAPH_ENDPOINT: "http://127.0.0.1:7878"
run: |
pytest tests/dspy_gitops/test_layer4_comprehensive.py \
python3 -m pytest tests/dspy_gitops/test_layer4_comprehensive.py \
-v --tb=short \
--junit-xml=layer4-results.xml \
--json-report \
@ -236,7 +243,7 @@ jobs:
- name: Generate metrics summary
run: |
python -c "
python3 -c "
import json
from datetime import datetime

View file

@ -343,4 +343,3 @@ class TestDatasetLoading:
if __name__ == "__main__":
pytest.main([__file__, "-v", "--tb=short"])
# CI trigger Mon Jan 12 19:15:02 CET 2026