name: Prompt Evaluation with Maxim
on:
push:
branches: [main, dev]
pull_request:
branches: [main]
workflow_dispatch:
env:
TEST_RUN_NAME: "Prompt Evaluation - ${{ github.sha }}"
CONTEXT_TO_EVALUATE: "context"
EVALUATORS: "bias, clarity, faithfulness"
jobs:
evaluate-prompt:
runs-on: ubuntu-latest
name: Run Prompt Evaluation
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Run Prompt Test with Maxim
id: prompt_test
uses: maximhq/actions/test-runs@v1
with:
api_key: ${{ secrets.MAXIM_API_KEY }}
workspace_id: ${{ vars.WORKSPACE_ID }}
test_run_name: ${{ env.TEST_RUN_NAME }}
dataset_id: ${{ vars.DATASET_ID }}
prompt_version_id: ${{ vars.PROMPT_VERSION_ID }}
context_to_evaluate: ${{ env.CONTEXT_TO_EVALUATE }}
evaluators: ${{ env.EVALUATORS }}
- name: Display Test Results
if: success()
run: |
echo "Test Run Results:"
echo "${{ steps.prompt_test.outputs.test_run_result }}"
echo ""
echo "Failed Indices: ${{ steps.prompt_test.outputs.test_run_failed_indices }}"
echo ""
echo "📊 View detailed report: ${{ steps.prompt_test.outputs.test_run_report_url }}"
- name: Check Test Status
if: failure()
run: |
echo "❌ Prompt evaluation failed. Check the detailed report for more information."
exit 1
- name: Success Notification
if: success()
run: |
echo "✅ Prompt evaluation passed successfully!"