Skip to content

Commit c02f20c

Browse files
committed
ci : add env based matrix tests
for `edu-base` containers for `-test-` containers
1 parent a86f8c2 commit c02f20c

File tree

1 file changed

+58
-2
lines changed

1 file changed

+58
-2
lines changed

.github/workflows/build.yml

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
- name: Verify that the Docker image for the action builds
4242
run: docker build . --file Dockerfile
4343

44-
integration-tests:
44+
integration-tests-action:
4545
needs: build
4646
runs-on: ubuntu-latest
4747
strategy:
@@ -90,7 +90,63 @@ jobs:
9090
- name: Verify integration test results
9191
run: |
9292
. .venv/bin/activate
93-
uv pip list
93+
uv pip list
94+
echo "feedback_${{ matrix.model }}=${{ steps.integration.outputs.feedback }}" >> $GITHUB_OUTPUT
95+
python3 -u -m pytest tests/integration.py
96+
97+
integration-tests-env:
98+
needs: build
99+
runs-on: ubuntu-latest
100+
strategy:
101+
matrix:
102+
model: [
103+
gemini-2.5-flash,
104+
grok-code-fast,
105+
claude-sonnet-4-20250514,
106+
google/gemma-2-9b-it,
107+
sonar
108+
]
109+
fail-fast: false
110+
steps:
111+
- uses: actions/checkout@v5
112+
113+
- name: Install uv package manager
114+
uses: astral-sh/setup-uv@v6
115+
with:
116+
version: "latest"
117+
version-file: "pyproject.toml"
118+
python-version: 3.11
119+
enable-cache: true
120+
121+
- run: uv sync
122+
123+
- name: Integration test ${{ matrix.model }}
124+
id: integration
125+
env:
126+
INPUT_REPORT-FILES: tests/sample_report.json,tests/json_dict_div_zero_try_except.json
127+
INPUT_STUDENT-FILES: tests/sample_code.py
128+
INPUT_README-PATH: tests/sample_readme.md
129+
INPUT_CLAUDE_API_KEY: ${{ secrets.CLAUDE_API_KEY }}
130+
INPUT_GEMINI-API-KEY: ${{ secrets.GOOGLE_API_KEY }}
131+
INPUT_GROK-API-KEY: ${{ secrets.XAI_API_KEY }}
132+
INPUT_NVIDIA-API-KEY: ${{ secrets.NVIDIA_NIM_API_KEY }}
133+
INPUT_PERPLEXITY-API-KEY: ${{ secrets.PERPLEXITY_API_KEY }}
134+
INPUT_MODEL: ${{ matrix.model }}
135+
explanation-in: Korean
136+
fail-expected: True
137+
run: |
138+
. .venv/bin/activate
139+
uv pip list
140+
python3 entrypoint.py
141+
timeout-minutes: 5
142+
- name: Output and Verify
143+
run: |
144+
echo "${{ matrix.model }} ${{ steps.integration.outputs.feedback }}"
145+
echo "feedback_${{ matrix.model }}=${{ steps.integration.outputs.feedback }}" >> $GITHUB_OUTPUT
146+
- name: Verify integration test results
147+
run: |
148+
. .venv/bin/activate
149+
uv pip list
94150
echo "feedback_${{ matrix.model }}=${{ steps.integration.outputs.feedback }}" >> $GITHUB_OUTPUT
95151
python3 -u -m pytest tests/integration.py
96152

0 commit comments

Comments
 (0)