Skip to content

Commit c3a6d42

Browse files
committed
ci: run the TinkerPop parity harness in java-suites on JDK 28 EA
Two steps at the end of the java-suites job: fetch-deps.sh pulls the 19 sha256-pinned jars, then run.sh compiles and runs TinkerParityTest with LGJ_JDK pointed at the JDK 28 EA setup-java installed for the job. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AhMhXd2gDhYzTgwKeHaWHB
1 parent 3a30ce5 commit c3a6d42

4 files changed

Lines changed: 22 additions & 4 deletions

File tree

‎.claude/board/LATEST_STATE.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
## 2026-10-09 — Gremlin and the mask hop chain agree (interop/tinkerpop, A1)
22

33
`interop/tinkerpop/` adds a parity harness, built outside `consumers/` so the
4-
`java-suites` CI job (which compiles `consumers/` without TinkerPop) is
5-
untouched. It copies three `RowStore.openWithEdges` fixtures into TinkerGraph
4+
`java-suites` CI job (which compiles `consumers/` without TinkerPop) does not
5+
see TinkerPop. Two extra steps at the end of that job fetch the pinned jars and
6+
run the harness. It copies three `RowStore.openWithEdges` fixtures into TinkerGraph
67
3.7.7, a test-oracle copy under rule E2. It then compares
78
`Graph.from(seeds).hop(KNOWS)^k.count()` with
89
`g.V(seeds).out("knows")^k.dedup().count()` for k = 1..3.

‎.claude/board/PR_ARC_INVENTORY.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
count for k = 1..3 on three fixtures. The walk count without `dedup()`
2020
differs, and the suite requires that difference.
2121
- **Deferred:** A2 (a `TraversalStrategy` that lowers compilable step runs
22-
with a counted fallback), and CI wiring (it needs the jar fetch on the
23-
runner).
22+
with a counted fallback).
23+
- **CI:** two steps at the end of `java-suites` fetch the sha256-pinned jars
24+
and run the harness on the job's JDK 28 EA.
2425
- **Gates:** 25 checks green; disable run red-then-green. The core suite was
2526
untouched (612 checks green before the change).
2627
- **Confidence:** high for parity on these fixtures. It says nothing yet about

‎.github/workflows/lint.yml‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,3 +343,17 @@ jobs:
343343
exit 1
344344
fi
345345
echo "all four consumer suites passed"
346+
# Quick win A1: TinkerGraph 3.7.7 vs mask hop chain parity. Kept out of
347+
# `consumers/` because that tree is compiled above without TinkerPop on the
348+
# classpath. `fetch-deps.sh` downloads 19 jars from Maven Central and
349+
# refuses any whose sha256 differs from `deps.lock`; `run.sh` reads
350+
# LGJ_JDK, not JAVA_HOME, so point it at the JDK 28 EA that setup-java
351+
# installed in this job.
352+
- name: Fetch TinkerPop jars (sha256-pinned)
353+
working-directory: lance-graph-java/interop/tinkerpop
354+
run: ./fetch-deps.sh
355+
- name: Run the TinkerPop parity harness (A1)
356+
working-directory: lance-graph-java/interop/tinkerpop
357+
env:
358+
LGJ_JDK: ${{ env.JAVA_HOME }}
359+
run: ./run.sh

‎interop/tinkerpop/README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ from the same seeds twice:
1717

1818
The harness lives outside `consumers/` on purpose. CI compiles every file under
1919
`consumers/` against `java/out` alone, and TinkerPop is not on that classpath.
20+
The `java-suites` job runs this harness in two separate steps at its end:
21+
`fetch-deps.sh`, then `run.sh` with `LGJ_JDK` set to the job's JDK 28 EA.
2022

2123
## What it checks (25 checks, all green)
2224

0 commit comments

Comments
 (0)