Skip to content

CONN-1273: replace Speakeasy generate/release workflows with thin stubs - #673

Draft
mcollinscodat wants to merge 4 commits into
mainfrom
feat/CONN-1273-release-stubs
Draft

CONN-1273: replace Speakeasy generate/release workflows with thin stubs#673
mcollinscodat wants to merge 4 commits into
mainfrom
feat/CONN-1273-release-stubs

Conversation

@mcollinscodat

@mcollinscodat mcollinscodat commented Aug 4, 2026

Copy link
Copy Markdown

Replaces the Speakeasy generate and release workflows for bank-feeds, lending, platform, sync-for-expenses and sync-for-payables with thin stubs pointing at Codat's central SDK codegen pipeline, and adds the Azure DevOps pipeline that publishes these packages to npm. Workflow filenames and names are unchanged so existing triggers keep matching. Workflows for the other products are untouched.

  • Generate stubs: generation now runs centrally and arrives here as a versioned PR. The stub prints a warning and exits 0 (it flips to exit 1 when the upstream trigger switches over).
  • Release stubs: still trigger on <product>/RELEASES.md pushes to main (plus manual dispatch), but publishing runs centrally now, so the stub only records where it went. The Azure DevOps pipeline watches that same push itself, so the stub has nothing to queue and needs no credential. No packaging check has been dropped; they all run centrally.
  • .azuredevops/npm-publish.yml: the pipeline that builds, checks and publishes the released package. It lives here because an Azure Pipelines CI trigger only fires for the repo its YAML sits in. Generated by cutover/emit_workflow_stubs.py --lang ts from cutover/npm_publish_pipeline.yml in sdk-codegen, so it stays a delivery rather than a hand-maintained copy.

No secrets or variables need setting on this repo. Merge order is codat-internal/sdk-codegen#362 (the pipeline) then #360 (the emitter that produced this output), so the tool behind these files is on main before this lands.

…flows with thin stubs pointing at the central pipeline

- bank_feeds_generate.yaml - generation moved to Codat SDK Codegen; stub warns and exits 0
- bank_feeds_release.yaml - queues the central Azure DevOps npm publish pipeline
- lending_generate.yaml - generation moved to Codat SDK Codegen; stub warns and exits 0
- lending_release.yaml - queues the central Azure DevOps npm publish pipeline
- platform_generate.yaml - generation moved to Codat SDK Codegen; stub warns and exits 0
- platform_release.yaml - queues the central Azure DevOps npm publish pipeline
- sync_for_expenses_generate.yaml - generation moved to Codat SDK Codegen; stub warns and exits 0
- sync_for_expenses_release.yaml - queues the central Azure DevOps npm publish pipeline
- sync_for_payables_generate.yaml - generation moved to Codat SDK Codegen; stub warns and exits 0
- sync_for_payables_release.yaml - queues the central Azure DevOps npm publish pipeline
…ish pipeline, and the pipeline itself lands in this repo

.azuredevops/npm-publish.yml - new: builds, checks and publishes the released package to npm, triggered by the push to <product>/RELEASES.md; written by sdk-codegen (cutover/npm_publish_pipeline.yml), do not edit by hand
.github/workflows/bank_feeds_release.yaml - stub no longer queues Azure DevOps over REST, it just records where publishing went; no token, no pipeline url, no concurrency group
.github/workflows/lending_release.yaml - same
.github/workflows/platform_release.yaml - same
.github/workflows/sync_for_expenses_release.yaml - same
.github/workflows/sync_for_payables_release.yaml - same
@mcollinscodat

mcollinscodat commented Aug 4, 2026

Copy link
Copy Markdown
Author

Updated for the design change in codat-internal/sdk-codegen#362.

The release stubs no longer queue anything. The Azure Pipelines GitHub App is installed on this org, so the central pipeline watches the same <product>/RELEASES.md push the stubs trigger on and runs itself. Generate stubs are unchanged.

  • Release stubs: still trigger on <product>/RELEASES.md pushes to main (plus manual dispatch), but now drop the token, the pipeline URL and the concurrency group and just record where publishing went. No packaging check has been dropped; they all run centrally.
  • .azuredevops/npm-publish.yml: the pipeline itself, added here because an Azure Pipelines CI trigger only fires for the repo its YAML sits in. Generated by cutover/emit_workflow_stubs.py --lang ts from cutover/npm_publish_pipeline.yml in sdk-codegen, so it stays a delivery rather than a hand-maintained copy.

The merge blocker in the description above is gone: ADO_PUBLISH_TRIGGER_TOKEN and ADO_PUBLISH_PIPELINE_URL never need to exist on this repo. The description is updated to match.

Merge order: sdk-codegen#362 (the pipeline) then sdk-codegen#360 (the emitter that produced these stubs) go to main first, so the tool behind this output is committed before this lands.

…ts comments were reworded

.azuredevops/npm-publish.yml - re-emitted from cutover/npm_publish_pipeline.yml in sdk-codegen: clearer header comments and the two source paths now read from $(Build.SourcesDirectory); no change to what the pipeline does
… tidied

.azuredevops/npm-publish.yml - the header no longer says "this repo", which flipped meaning depending on which copy you read; it names both repos and carries the written-by line the stubs have
.github/workflows - all ten stubs: the written-by line names just the emitter file, not its path
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