speakeasy-api/Speakeasy SDK Workflow Runner Action
The Speakeasy Generation Action is to be run via the workflows provided in this repo and is not intended to be run directly.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| speakeasy_version | The version of the Speakeasy CLI to use or "latest" | no | latest |
| github_access_token | A GitHub access token with write access to the repo | yes | — |
| speakeasy_api_key | The Speakeasy API key to authenticate the Speakeasy CLI with | yes | — |
| pr_creation_pat | A specific Github PAT used to create Pull Requests | no | — |
| openapi_doc_auth_token | An auth token to authenticate with a private OpenAPI spec | no | — |
| force | Force the SDK to be regenerated | no | false |
| signed_commits | Sign commits with GPG | no | false |
| sources | The sources to tag (comma or newline separated) | no | — |
| target | Generate a specific target by name | no | — |
| code_samples | The targets to tag code samples for (comma or newline separated) | no | — |
| registry_tags | Multi-line or single-line string input of tags to apply to speakeasy registry builds | no | — |
| max_suggestions | The maximum number of suggestions to apply when using the 'suggest' action step. | no | 5 |
| mode | The mode to run the workflow in when using the 'generate' action, valid options are 'direct' or 'pr', defaults to 'direct'. This is intended to be used along with the `action` input to determine the current action step to run. - 'direct' mode will generally create a branch to generate the SDK on then merge this directly to the branch the workflow is configure to run on (normally 'main' or 'master') after compilation is successful. - 'pr' will create a branch to generate the SDK on then create a pull request to merge this branch to the branch the workflow is configure to run on (normally 'main' or 'master') after compilation is successful. See documentation for more details. | no | direct |
| action | The current action step to run, valid options are 'run-workflow', 'release', or 'tag', defaults to 'run-workflow'. This is intended to be used along with the `mode` input to determine the current action step to run. - 'run-workflow' will generate the SDK and commit the changes to the branch. - 'release' will create a release on Github. - 'tag' will tag the registry images with the provided tags. | — | — |
| feature_branch | The branch that represents the SDK feature. Will be upserted when manually dispatching the workflow. | no | — |
| skip_compile | Skip environment setup and pass --skip-compile to Speakeasy run. | no | false |
| branch_name | The name of the branch to finalize, only used for the 'finalize' action step. | no | — |
| cli_output | Output of `speakeasy suggest` CLI command, only used for the 'finalize-suggestion' action step. | no | — |
| previous_gen_version | The version of the previous generation, only used for the 'finalize' action step. | no | — |
| output_tests | Internal use only | no | — |
| speakeasy_server_url | Internal use only | no | — |
| openai_api_key | The OpenAI API key to authenticate to access LLM suggestions. If left empty it will use Speakeasy's key within platform limits. | no | — |
| working_directory | The working directory for running Speakeasy CLI commands in the action | no | — |
| gpg_fingerprint | The GPG fingerprint to sign the release with | no | — |
| push_code_samples_only | This will generate code samples, tag them with the `main` branch name, and push them to the registry. It will not create a pull request or commit any code. This is useful for pushing up some code samples to the registry the first time when there are no code samples in the registry. | no | — |
| target_directory | The directory the SDK target was generated to | no | — |
| registry_name | The name of the publishing registry | no | — |
| set_version | Version to manually set for SDK generation | no | — |
| cli_environment_variables | Extra environment variables to set for the speakeasy run execution. | no | — |
| pnpm_version | Version of pnpm to install. Not recommended for use without consulting Speakeasy support. | no | — |
| skip_testing | Skip Speakeasy workflow target testing after generation. In mode: pr, testing is always skipped during generation regardless of this input — tests should run separately via the sdk-test.yaml workflow (set up with 'speakeasy configure test'). This input only takes effect in mode: direct. | no | false |
| poetry_version | Version of poetry to install. Not recommended for use without consulting Speakeasy support. | no | — |
| uv_version | Version of uv to install. Not recommended for use without consulting Speakeasy support. | no | — |
| github_repository | The GitHub repository path for the SDK. Eg: speakeasy-api/speakeasy-sdk-python | no | "" |
| enable_sdk_changelog | Enable the new SDK changelog feature | no | false |
| skip_release | Skip creating releases and registry tagging in direct mode | no | false |
| skip_versioning | Skip versioning during SDK generation, preventing version bumps | no | false |
Outputs
| name | description |
|---|---|
| publish_python | Whether the Python SDK will be published to PyPi |
| publish_typescript | Whether the Typescript SDK will be published to NPM |
| publish_terraform | Whether the Terraform Provider will be published to the Terraform Registry |
| publish_php | Whether the PHP SDK will be published to Packagist this will also create a release on Github |
| publish_ruby | Whether the Ruby SDK will be published to Rubygems |
| publish_java | Whether the Java SDK will be published to the provided OSSRH URL |
| publish_csharp | Whether the C# SDK will be published to Nuget |
| publish_cli | Whether the CLI target will be published |
| publish_mcp_typescript | Whether the MCP Typescript target will be published to NPM |
| publish_mcp_registry | Whether the MCP Typescript target will be published to the MCP Registry |
| cli_regenerated | true if the CLI target was regenerated |
| cli_directory | The directory the CLI target was generated to |
| python_regenerated | true if the Python SDK was regenerated |
| python_directory | The directory the Python SDK was generated to |
| typescript_regenerated | true if the Typescript SDK was regenerated |
| typescript_directory | The directory the Typescript SDK was generated to |
| go_regenerated | true if the Go SDK was regenerated |
| go_directory | The directory the Go SDK was generated to |
| java_regenerated | true if the Java SDK was regenerated |
| java_directory | The directory the Java SDK was generated to |
| mcp_typescript_regenerated | true if the MCP Typescript target was regenerated |
| mcp_typescript_directory | The directory the MCP Typescript target was generated to |
| terraform_regenerated | true if the Terraform Provider was regenerated |
| terraform_directory | The directory the Terraform Provider was generated to |
| php_regenerated | true if the PHP SDK was regenerated |
| php_directory | The directory the PHP SDK was generated to |
| ruby_regenerated | true if the Ruby SDK was regenerated |
| ruby_directory | The directory the Ruby SDK was generated to |
| csharp_regenerated | true if the C# SDK was regenerated |
| csharp_directory | The directory the C# SDK was generated to |
| unity_regenerated | true if the Unity SDK was regenerated |
| unity_directory | The directory the Unity SDK was generated to |
| swift_regenerated | true if the Swift SDK was regenerated |
| swift_directory | The directory the Swift SDK was generated to |
| docs_regenerated | true if SDK docs were regenerated |
| docs_directory | The directory the SDK docs was generated to |
| branch_name | The name of the branch the SDK was generated or spec was modified on |
| cli_output | Output of the CLI command issued in the `suggest` action |
| commit_hash | The commit hash of the merge commit into main if using 'direct' mode |
| previous_gen_version | The version of the previous generation |
| openapi_doc | The location of the OpenAPI document used for generation |
| registry_name | The name of the publishing registry |
| target_directory | The directory the SDK target was generated to |
| mcp_release_typescript | The release tag used for standalone ts mcp binaries |
| use_pypi_trusted_publishing | Whether to use OIDC trusted publishing for PyPI instead of token-based authentication |