Skip to content

ci: run tests on PRs; drop custom commands that shadow generated ones - #112

Merged
PaulAsjes merged 2 commits into
nextfrom
feat/ci-pr-tests-and-namespace-cleanup
Jul 28, 2026
Merged

ci: run tests on PRs; drop custom commands that shadow generated ones#112
PaulAsjes merged 2 commits into
nextfrom
feat/ci-pr-tests-and-namespace-cleanup

Conversation

@PaulAsjes

Copy link
Copy Markdown
Collaborator

Wire tests: they don't exist

I checked the newly generated code for wire tests and found none. What the generator emits is unit tests for the serialization/core layer:

  • elevenlabs-sdk/src/core/* + client.rs — 108 tests (datetime/base64/number serializers, query builder, pagination, request options, http client, oauth)
  • elevenlabs-types/src/core/* — 38 tests (bigint/base64/datetime/number serializers)
  • Zero tests under elevenlabs-sdk/src/api/resources/, which is where per-endpoint wire tests would live, and no mock-server infrastructure (wiremock/httpmock/mockito are absent; the only dev-dependency is tokio-test).

So wire tests appear to be a TypeScript/Python SDK generator feature that the Rust CLI generator doesn't emit yet — worth confirming with Fern.

CI

Those 146 generated tests were never running: elevenlabs-sdk and elevenlabs-types are path dependencies, not cargo workspace members (the generated root Cargo.toml has no [workspace] section), so plain cargo test skips them — cargo test -p elevenlabs_sdk even fails with "not a member of the workspace".

  • Added a pull_request trigger (opened/synchronize/reopened) so check/compile/test run on every PR, not just on push.
  • Added explicit cargo test --manifest-path steps for both generated crates.

Test coverage in CI goes from 1767 → 1913 tests.

Namespace cleanup

Now that the conversational-aiagents rename has landed, the generated API commands live in the same agents group as the custom workflow — and the framework lets a custom command shadow a generated one. Three were shadowing:

Command Was Now
agents list custom (local configs) shadowed generated generated List Agents
agents delete custom (remote + local) shadowed generated generated Delete agent
agents branches list custom shadowed the generated subgroup generated branches (create/get/list/merge/rebase/…)

Per the agreed split — API owns the primitives, the workflow adds config-oriented verbs — the workflow now registers only init, add, status, push, pull, widget, test, templates.

Also included

  • Removed the orphaned elevenlabs-sdk/src/api/resources/conversational_ai/ module (93 files). The regeneration merge left it behind and resources/mod.rs doesn't declare it, so it was dead code.
  • Added a .gitignore to elevenlabs-types (the sdk crate has one; the types crate doesn't, so running its tests left untracked artifacts).
  • Dropped an unused import in workflow/verify.rs.

Verified

cargo build green; all suites pass (1752 framework + 14 workflow + 108 sdk + 38 types + doc tests); elevenlabs agents --help shows the generated primitives restored alongside the custom verbs.

🤖 Generated with Claude Code

PaulAsjes and others added 2 commits July 28, 2026 12:06
CI:
- Trigger check/compile/test on pull_request (opened/synchronize/reopened),
  not just push.
- Run the generated crates' test suites explicitly. elevenlabs-sdk and
  elevenlabs-types are path dependencies rather than cargo workspace members
  (the generated root Cargo.toml has no [workspace] section), so plain
  `cargo test` skipped them and their 146 tests never ran.

Namespace cleanup, now that the conversational-ai → agents rename has landed:
the generated API commands live in the same `agents` group as the custom
workflow, and the framework lets a custom command shadow a generated one. Drop
the custom `agents list`, `agents delete`, and `agents branches list` so the
generated primitives (create/get/list/update/delete and the full branches
subgroup) own those names. The workflow keeps the config-oriented verbs it
adds: init/add/status/push/pull/widget/test/templates.

Also remove the orphaned elevenlabs-sdk/src/api/resources/conversational_ai
module (93 files). The regeneration merge left it behind and resources/mod.rs
does not declare it, so it was dead code.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
elevenlabs-sdk ships one (ignoring /target and Cargo.lock) but
elevenlabs-types does not, so running its test suite via --manifest-path
leaves untracked build artifacts. Mirror the sdk crate's file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@PaulAsjes
PaulAsjes merged commit f6791d6 into next Jul 28, 2026
5 checks passed
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