4waiz's picture
chore: flatten repo layout
910eb59
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: Tests + sample pipeline
runs-on: ubuntu-latest
env:
# Keep transformers torch-only; never pull TensorFlow/Flax into CI.
USE_TF: "0"
USE_FLAX: "0"
TRANSFORMERS_NO_TF: "1"
# Cache HF downloads between runs.
HF_HOME: ${{ github.workspace }}/.hf_cache
TRANSFORMERS_CACHE: ${{ github.workspace }}/.hf_cache
SENTENCE_TRANSFORMERS_HOME: ${{ github.workspace }}/.hf_cache
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: pip
cache-dependency-path: |
requirements.txt
pyproject.toml
- name: Cache Hugging Face models
uses: actions/cache@v4
with:
path: ${{ env.HF_HOME }}
key: hf-${{ runner.os }}-minilm-deberta-v1
restore-keys: |
hf-${{ runner.os }}-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# Install torch CPU wheel first to avoid pulling the huge CUDA build.
pip install --index-url https://download.pytorch.org/whl/cpu torch
pip install -r requirements.txt
pip install -e .
- name: Run unit tests
run: pytest -q
- name: Run pipeline on sample data
run: |
python -m citeguard.cli evaluate \
--input data/samples/custom_rag_examples.jsonl \
--config configs/default.yaml \
--output outputs/ \
--no-progress
- name: Generate figures
run: python scripts/make_figures.py
- name: Verify expected outputs exist
run: |
set -e
test -s outputs/tables/claim_eval.csv
test -s outputs/tables/example_summary.csv
test -s outputs/tables/aggregate_metrics.json
test -s outputs/evidence_cards/evidence_cards.jsonl
for fig in fig_error_distribution fig_confusion_matrix \
fig_baseline_comparison fig_ablation \
fig_retrieval_vs_support fig_runtime; do
test -s "outputs/figures/${fig}.png"
done
echo "All expected outputs present."
- name: Upload outputs artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: citeguard-outputs-py310
path: outputs/
retention-days: 14