Skip to content

feat: Speakeasy API client bootstrap (PDE-755)#37

Merged
mekilis merged 1 commit into
mainfrom
feat/speakeasy-bootstrap-pde-755
Jul 17, 2026
Merged

feat: Speakeasy API client bootstrap (PDE-755)#37
mekilis merged 1 commit into
mainfrom
feat/speakeasy-bootstrap-pde-755

Conversation

@mekilis

@mekilis mekilis commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Bootstrap Speakeasy generation from frain-dev/convoy docs/v3/openapi3.yaml
  • Keep webhook signature verification hand-written (shared signature-vectors.json)
  • Bump toward a new major so the first Speakeasy generation is an intentional API-shape break
  • Add CI that regenerates via Speakeasy and still runs verify vector tests

Secrets required

  • SPEAKEASY_API_KEY on this repository (Actions)
  • SDK_BOT_PAT on this repository so generation PRs trigger verify CI (PRs opened with GITHUB_TOKEN do not fire pull_request workflows)

Follow-up

After merge, run SDK Generation (sdk_generation.yaml) with force=true to open the first generated API-client PR.

Related: PDE-755 / frain-dev/convoy Speakeasy workflow.


Note

Medium Risk
Sets up automated SDK regeneration and a planned major API break; webhook crypto stays excluded from generation, but generation PRs and secret/PAT setup affect release workflow.

Overview
Bootstraps Speakeasy to generate the HTTP API client from Convoy’s v3 OpenAPI spec, while locking down hand-written webhook verification via .genignore (src/webhook.ts, shared vector tests, and related docs).

Adds pinned .speakeasy/ workflow/config (remote OpenAPI source, TypeScript 2.x target, test:verify script, no generated tests) and a new sdk_generation.yaml workflow (weekly + manual PR mode, serialized concurrency, PAT for generation PRs so verify CI runs). Documents the intentional 2.x API-shape break in MIGRATION.md and bumps the package to 2.0.0-alpha.0.

CI moves to Node 20, pins checkout/setup-node, asserts verify artifacts exist, runs webhook/shared-vector tests as a hard gate, and treats the full Jest suite as optional (continue-on-error). src/convoy.ts gets a migration comment only—the hand-written client remains until the first generation PR lands.

Reviewed by Cursor Bugbot for commit bd8ea40. Bugbot is set up for automated code reviews on this repo. Configure here.

Wire Speakeasy generation from convoy docs/v3/openapi3.yaml.
Keep webhook signature verify hand-written and covered by shared
signature-vectors.json. First Speakeasy generation ships as a new
major so hand-written API shapes are not silently broken.
Comment thread .github/workflows/sdk_generation.yaml
Comment thread .speakeasy/workflow.yaml
@mekilis
mekilis merged commit efca7d0 into main Jul 17, 2026
3 checks passed
@mekilis
mekilis deleted the feat/speakeasy-bootstrap-pde-755 branch July 17, 2026 19:25
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.

3 participants