Skip to content

AGS-22: add CI that builds and tests every language surface - #13

Merged
Ugbot merged 1 commit into
mainfrom
ci-build-and-test-all-surfaces
Jul 25, 2026
Merged

AGS-22: add CI that builds and tests every language surface#13
Ugbot merged 1 commit into
mainfrom
ci-build-and-test-all-surfaces

Conversation

@Ugbot

@Ugbot Ugbot commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Before this, the only automation in the repo was the two PyPI publish jobs. Nothing compiled Java, ran pytest, go test, or clojure -X:test — which is exactly why AGS-9 (a compile error that left the whole JVM tree unbuildable from a clean checkout) sat unnoticed. This PR is its own proof: the checks below are the first ones this repo has ever run.

Jobs

Job Covers
jvm (Java 21) jagentic-coreagentic-flink → 6 ports/*agentic-pekkotool-servicesa2a-gatewaybanking-job
go go vet ./... + go test ./... over ports/go
clojure clojure -X:test over agentic-clj
python pyagentic + the port adapter suite

The JVM ordering is manual because there is no Maven reactor (AGS-10) — jagentic-core is an unpublished hard compile-scope dependency, so it must be installed before anything else resolves. Surefire reports upload on failure.

Two bugs CI immediately surfaced, fixed here

  • ports/pyagentic never declared PyYAML, so test_cep_weave failed on any clean machine (1 failed / 87 passed). Added to the test extra → 88 pass.
  • ports/tests hard-failed without Celery instead of skipping, so the job installs it. The adapter tests then run for real in eager mode, no broker needed.

Also fixed

The publish workflows and python/pyproject.toml still pointed at the pre-rename Agentic-Flink repo — 4 dead URLs. Corrected, with a note that the PyPI trusted publisher must be re-registered against Agentic-Streaming, since PyPI matches the OIDC repository claim exactly (AGS-30). That part cannot be fixed from the repo side.

Verified locally before pushing

Ran the exact step sequence on JDK 21 with ~/.m2/repository/org/{jagentic,agentic} purged, so nothing stale could mask a break:

  • 922 tests green across 13 JVM modules (jagentic-core 95, main 770, ports 6, agentic-pekko 14, tool-services 26, a2a-gateway 9)
  • go vet clean, 6/6 Go packages
  • 64 Clojure tests / 249 assertions
  • 88 pyagentic + 7 adapter tests

Deliberately not included

Spotless is not a gate. spotless:check fails on code already in main, and apply is bound to the default lifecycle so every build rewrites sources. Flipping it to check needs a repo-wide format commit first — shipping it now would mean a permanently red job.

Container-backed integration tests are also out of scope for v1: *IT.java files are currently unrunnable in every profile (no failsafe plugin), tracked as AGS-23.

🤖 Generated with Claude Code

Before this the only automation was the two PyPI publish jobs. Nothing
compiled Java, ran pytest, go test, or clojure -X:test — which is why AGS-9
(a compile error leaving the whole JVM tree unbuildable) sat unnoticed.

Four parallel jobs:

  jvm      Java 21. jagentic-core -> agentic-flink -> 6 ports -> agentic-pekko
           -> tool-services -> a2a-gateway -> banking-job. Ordering is manual
           because there is no reactor (AGS-10); jagentic-core is an
           unpublished hard dependency so it must be installed first. Uploads
           surefire reports on failure.
  go       go vet + go test over ports/go.
  clojure  clojure -X:test over agentic-clj.
  python   pyagentic + the port adapter suite.

Also fixes two things CI immediately surfaced:

- ports/pyagentic declared no PyYAML, so test_cep_weave failed on any clean
  machine (1 failed / 87 passed). Added to the test extra; now 88 pass.
- ports/tests hard-failed without Celery rather than skipping, so the job
  installs it — the adapter tests then run for real in eager mode, no broker.

And corrects the publish workflows + python/pyproject URLs, which still
pointed at the pre-rename Agentic-Flink repo. Flags that the PyPI trusted
publisher must be re-registered against Agentic-Streaming, since PyPI matches
the OIDC repository claim exactly (AGS-30).

Verified locally on JDK 21 with ~/.m2/repository/org/{jagentic,agentic}
purged, running the exact step sequence: 922 tests green across 13 JVM
modules, go vet clean + 6/6 packages, 64 Clojure tests, 88 pyagentic + 7
adapter tests.

Spotless is deliberately not a gate yet: spotless:check fails on code already
in main, and `apply` is bound to the default lifecycle so builds rewrite
sources. Flipping it to `check` needs a repo-wide format commit first.

Co-Authored-By: Claude <noreply@anthropic.com>
@Ugbot
Ugbot merged commit 9731fdc into main Jul 25, 2026
4 checks passed
@Ugbot
Ugbot deleted the ci-build-and-test-all-surfaces branch July 25, 2026 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant