Add typescript client library generation CI for releases which support it
Description
We would like to provide a system for automatically generating and releasing client code for APIs, based on their OpenAPI specifications.
Further details
We expect to publish a typescript client package to the repository's package registry when a release occurs.
We anticipate adding two jobs to pipelines that include this new template:
- A build step job to build the client library which runs alongside the normal build job
- A release step job to publish the client library to the repository's registry
In the future we expect to expand this capability to also publish (e.g.) Python client libraries as part of the release process, so work done on this issue should keep this in mind, but is primarily targeting Typescript client libraries.
We anticipate that this job(s) will need to be provided with variables to set:
- A command to run to generate an OpenAPI specification from the repository
- A configuration file or command line options for the generator
This should make use of the docker image built as part of uis/devops/infra/dockerimages#100 (closed)
Task list
Acceptance criteria
-
Typescript client code is generated and published to repository registry on release if a template to support this is included.