ci: run tests on PRs; drop custom commands that shadow generated ones - #112
Merged
Conversation
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>
This was referenced Jul 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)elevenlabs-sdk/src/api/resources/, which is where per-endpoint wire tests would live, and no mock-server infrastructure (wiremock/httpmock/mockitoare absent; the only dev-dependency istokio-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-sdkandelevenlabs-typesare path dependencies, not cargo workspace members (the generated rootCargo.tomlhas no[workspace]section), so plaincargo testskips them —cargo test -p elevenlabs_sdkeven fails with "not a member of the workspace".pull_requesttrigger (opened/synchronize/reopened) so check/compile/test run on every PR, not just on push.cargo test --manifest-pathsteps for both generated crates.Test coverage in CI goes from 1767 → 1913 tests.
Namespace cleanup
Now that the
conversational-ai→agentsrename has landed, the generated API commands live in the sameagentsgroup as the custom workflow — and the framework lets a custom command shadow a generated one. Three were shadowing:agents listagents deleteagents branches listPer 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
elevenlabs-sdk/src/api/resources/conversational_ai/module (93 files). The regeneration merge left it behind andresources/mod.rsdoesn't declare it, so it was dead code..gitignoretoelevenlabs-types(the sdk crate has one; the types crate doesn't, so running its tests left untracked artifacts).workflow/verify.rs.Verified
cargo buildgreen; all suites pass (1752 framework + 14 workflow + 108 sdk + 38 types + doc tests);elevenlabs agents --helpshows the generated primitives restored alongside the custom verbs.🤖 Generated with Claude Code