Skip to content

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

Open
mcollinscodat wants to merge 11 commits into
mainfrom
feat/CONN-1273-release-stubs
Open

CONN-1273: replace Speakeasy generate/release workflows with thin stubs#673
mcollinscodat wants to merge 11 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
…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
@mcollinscodat
mcollinscodat marked this pull request as ready for review August 11, 2026 11:12
mcollinscodat and others added 7 commits August 11, 2026 12:15
…a release gets tagged again

- .azuredevops/npm-publish.yml - re-emitted from sdk-codegen main: brings back the release-facts step, the OAS variable group, the GitHub App token mint, and the tag and GitHub release steps that were added to the pipeline centrally after this branch was last delivered
…ine so the build skips lint tooling the feed lacks

- .azuredevops/npm-publish.yml - build step installs prod deps + the pinned TypeScript compiler and skips the eslint/typescript-eslint toolchain (delivered verbatim from sdk-codegen npm_publish_pipeline.yml)
…ine so the compiler install omits dev deps

- .azuredevops/npm-publish.yml - the typescript install now passes --omit=dev so it no longer pulls the eslint/typescript-eslint tree (delivered verbatim from sdk-codegen npm_publish_pipeline.yml)
…ine to install the compiler in isolation

- .azuredevops/npm-publish.yml - install TypeScript in a directory with no package.json and build with it on PATH, so npm never resolves the eslint/typescript-eslint dev tree (delivered verbatim from sdk-codegen npm_publish_pipeline.yml)
…ine so the tarball tripwire matches the SDK layout

- .azuredevops/npm-publish.yml - tripwire checks built .js at the package root and the declared entry point, not a dist/ dir these SDKs never produce (delivered verbatim from sdk-codegen npm_publish_pipeline.yml)
…ine with the SIGPIPE-safe tarball tripwire

- .azuredevops/npm-publish.yml - tripwire lists the tarball once and matches with here-strings so grep/head no longer SIGPIPEs tar under pipefail (delivered verbatim from sdk-codegen npm_publish_pipeline.yml)
…ine to pin the consumer's TypeScript

- .azuredevops/npm-publish.yml - scratch consumer pins typescript at the SDK's version so it doesn't pull native TS 7 (delivered verbatim from sdk-codegen npm_publish_pipeline.yml)
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