Skip to content

Export the agent e2e suite as a release bundle for downstream repos#128

Merged
ling-senpeng13 merged 3 commits into
mainfrom
feature/export-agent-e2e-bundle
Jul 21, 2026
Merged

Export the agent e2e suite as a release bundle for downstream repos#128
ling-senpeng13 merged 3 commits into
mainfrom
feature/export-agent-e2e-bundle

Conversation

@ling-senpeng13

@ling-senpeng13 ling-senpeng13 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Pull Request type

  • Bugfix
  • Feature
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • WHOSUSING.md
  • Other (please describe):

Changes in this PR

What

Packages the agent e2e suite (conductor-ai-e2e/) into a self-contained, version-stamped tarball — conductor-ai-e2e-java-<version>.tar.gz — attached to every GitHub release, so downstream repos (e.g. orkes-io/orkes-conductor) can pin the e2e suite to the exact java-sdk release they run against. Replaces the agentspan-sdk-e2e-java-* bundles formerly cut from agentspan-ai/agentspan.

  • conductor-ai-e2e/release/package-e2e-bundle.sh — stages the 26 suite sources + a standalone build.gradle pinning org.conductoross:conductor-ai:<version> from Maven Central (no SDK source vendored), the repo's pinned Gradle wrapper, run.sh, and a README. Unreleased SDKs can be tested via -PconductorAiVersion=X -PuseMavenLocal.
  • conductor-ai-e2e/release/test-package-e2e-bundle.sh — static validator (file parity, version pin, no leftover placeholders, wrapper completeness; no network).
  • .github/workflows/release-agent-e2e-bundle.yml — packages, validates, generates sha256 sidecars, and uploads to the release; same triggers as publish-release.yml, plus workflow_dispatch to attach bundles to existing releases (first target: v6.0.0.rc1).

Validation

  • static validator green
  • bundle compiles against conductor-ai/conductor-client published to mavenLocal at a throwaway version (proves the published POM exposes the full test classpath)
  • full bundle run vs conductor-oss 3.32.0-rc.8: 136 executed / 0 failed / 2 known skips (Suite2 secret-write steps — read-only secret store)
  • full bundle run vs orkes-conductor (embedded server + orkes-workers fleet): 134 executed / 0 failed / 4 capability skips (credentials need conductor-agentspan > 0.4.2)

… repos

Package the agent e2e suite into a self-contained, version-stamped tarball
(conductor-ai-e2e-java-<version>.tar.gz) attached to every GitHub release,
so downstream repos (e.g. orkes-io/orkes-conductor) can pin the suite to the
exact java-sdk release they run against. Replaces the agentspan-sdk-e2e-java
bundles formerly cut from agentspan-ai/agentspan.

- conductor-ai-e2e/release/package-e2e-bundle.sh: stages sources + standalone
  build.gradle pinning org.conductoross:conductor-ai:<version> from Maven
  Central (override: -PconductorAiVersion + -PuseMavenLocal), bundled Gradle
  wrapper, run.sh, README
- conductor-ai-e2e/release/test-package-e2e-bundle.sh: static validator
  (file parity, version pin, wrapper completeness; no network)
- .github/workflows/release-agent-e2e-bundle.yml: package + validate +
  sha256 + upload on release, same triggers as publish-release.yml

Validated: bundle compiles against conductor-ai/conductor-client published
to mavenLocal at a throwaway version.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ling-senpeng13 ling-senpeng13 self-assigned this Jul 15, 2026
@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

ling-senpeng13 and others added 2 commits July 21, 2026 13:07
Resolve .gitignore conflict: keep both the bundle staging dir entry and
main's /design/openspec entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Main renamed conductor-ai-e2e -> e2e, conductor-ai -> conductor-client-ai
(0413dab), and switched the suite env contract to CONDUCTOR_SERVER_URL /
CONDUCTOR_AGENT_LLM_MODEL. Follow suit:

- release tooling moves to e2e/release/; sources staged from e2e/src/test/java
- bundle pins org.conductoross:conductor-client-ai:<version> (override:
  -PconductorClientAiVersion + -PuseMavenLocal)
- run.sh/build.gradle/README use the CONDUCTOR_* env vars
- workflow + .gitignore paths updated

The bundle artifact name stays conductor-ai-e2e-java-<version>.tar.gz —
it is the downstream contract (orkes-io/orkes-conductor#3740).

Validated: static validator green; bundle compiles against
conductor-client-ai published to mavenLocal at a throwaway version.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ling-senpeng13

ling-senpeng13 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Merged main and adapted to the module restructure (0413dab7: conductor-ai-e2ee2e, conductor-aiconductor-client-ai, suite env contract → CONDUCTOR_SERVER_URL/CONDUCTOR_AGENT_LLM_MODEL):

  • release tooling now lives at e2e/release/; sources staged from e2e/src/test/java
  • the bundle pins org.conductoross:conductor-client-ai:<version> (unreleased-SDK override renamed to -PconductorClientAiVersion)
  • bundle run.sh/README speak the new CONDUCTOR_* env vars
  • the tarball name stays conductor-ai-e2e-java-<version>.tar.gz — it's the downstream contract (orkes-io/orkes-conductor#3740)

Re-validated after the merge: static validator green, and the bundle compiles against conductor-client-ai published to mavenLocal at a throwaway version.

Note for downstream: bundles cut from this layout need CONDUCTOR_SERVER_URL (not AGENTSPAN_SERVER_URL) in the consuming CI env, and the first release carrying both the renamed artifact and the bundle asset will be whatever is tagged after this merges — the 6.0.0.rc1 pin downstream should be bumped to that.

@ling-senpeng13
ling-senpeng13 merged commit 9e335df into main Jul 21, 2026
10 checks passed
@ling-senpeng13
ling-senpeng13 deleted the feature/export-agent-e2e-bundle branch July 21, 2026 20:17
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.

2 participants