-
Notifications
You must be signed in to change notification settings - Fork 0
84 lines (68 loc) · 2.35 KB
/
ci.yml
File metadata and controls
84 lines (68 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: CI
on:
pull_request:
branches: ["main", "develop"]
push:
branches: ["main", "develop"]
workflow_dispatch:
inputs:
run_llm_integration:
description: "Run opt-in LLM integration tests"
required: false
default: "false"
type: choice
options:
- "false"
- "true"
schedule:
- cron: "0 6 * * 1"
jobs:
v2-ci-gates:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install just
uses: taiki-e/install-action@just
- name: Install project dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
- name: Check generated v2 models freshness
run: just v2-models-check
- name: Run TTL schema alignment gate
run: python -m pytest tests/v2/test_ttl_schema_alignment.py -q
- name: Run JSON-LD roundtrip gate
run: python -m pytest tests/v2/test_roundtrip.py -q
- name: Run scoped v2 test suite
run: python -m pytest tests/v2/ -n 4 --dist=loadfile -m "not live_provider and not llm_integration"
- name: Run v1 parity regression tests
run: |
mkdir -p .tmp
CACHE_DB_PATH=.tmp/cache.db python -m pytest tests/test_cache.py tests/test_orcid_validation_pipeline.py tests/test_v1_parity.py
llm-integration:
runs-on: ubuntu-latest
timeout-minutes: 20
if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.run_llm_integration == 'true')
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install project dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
- name: Run LLM integration tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
RCP_TOKEN: ${{ secrets.RCP_TOKEN }}
run: python -m pytest tests/v2/test_llm_repository_agent.py -m llm_integration -v