Skip to content

Commit e45f39d

Browse files
committed
[argus] ci: add Argus-only test workflow
Additive workflow that triggers on push to argus and PRs into argus. Mirrors upstream's backend-unit-tests.yml install steps and adds the postgres checkpointer install (so test_postgres_aprune.py runs instead of skipping). Lives in a separate file from upstream's workflow so weekly merges of upstream/main into argus never produce conflicts here. Temporarily ignores tests/test_artifacts_router.py — those tests require lxml >= 6.1.0 behavior, but argus is pinned to upstream 898f4e8 where uv.lock has lxml 6.0.2. The bump lands in upstream 1ca2621, which the first weekly sync will absorb. Drop the --ignore flag in that sync's PR. PR-candidate: no Reason: Argus-specific.
1 parent 4fdeeeb commit e45f39d

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

.github/workflows/argus-ci.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Argus CI
2+
3+
# Runs on Argus's long-lived working branch and on PRs targeting it.
4+
# Additive — does not modify upstream's backend-unit-tests.yml so weekly
5+
# upstream merges never produce conflicts in this file.
6+
#
7+
# Same install + test steps as backend-unit-tests.yml, plus the
8+
# postgres checkpointer install (Argus uses pgvector, the postgres
9+
# checkpointer is required for our test_postgres_aprune.py to actually
10+
# run rather than skip).
11+
12+
on:
13+
push:
14+
branches: ['argus']
15+
pull_request:
16+
branches: ['argus']
17+
18+
concurrency:
19+
group: argus-ci-${{ github.event.pull_request.number || github.ref }}
20+
cancel-in-progress: true
21+
22+
permissions:
23+
contents: read
24+
25+
jobs:
26+
argus-backend-unit-tests:
27+
if: github.event.pull_request.draft == false
28+
runs-on: ubuntu-latest
29+
timeout-minutes: 15
30+
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v6
34+
35+
- name: Set up Python
36+
uses: actions/setup-python@v6
37+
with:
38+
python-version: '3.12'
39+
40+
- name: Install uv
41+
uses: astral-sh/setup-uv@v7
42+
43+
- name: Install backend dependencies
44+
working-directory: backend
45+
run: uv sync --group dev
46+
47+
- name: Install postgres checkpointer (Argus overlay deps)
48+
working-directory: backend
49+
run: |
50+
uv pip install \
51+
"langgraph-checkpoint-postgres>=3.0.3" \
52+
"psycopg[binary]>=3.2.0" \
53+
"psycopg-pool>=3.2.0"
54+
55+
- name: Run unit tests
56+
working-directory: backend
57+
# test_artifacts_router.py expects lxml >= 6.1.0 behavior (xhtml is
58+
# classified as active content). Our argus branch is pinned to
59+
# upstream 898f4e8a, where uv.lock still has lxml 6.0.2; the bump
60+
# to 6.1.0 lives in upstream commit 1ca2621 which we'll absorb on
61+
# the first weekly sync. Drop --ignore once that merge lands.
62+
run: PYTHONPATH=. uv run pytest tests/ -v --ignore=tests/test_artifacts_router.py

0 commit comments

Comments
 (0)