Speakeasy Logo
Skip to Content

Workflow matrix

Workflow inputs

The inputs to the workflow determine how the SDKs will be generated.

Input Name
speakeasy_version
Description
Version of the Speakeasy CLI to use. Use "latest" to always use the latest version.
Type
string
Default
latest
mode
Description
Workflow mode:
commits changes directly to the branch,
creates a pull request, or
fully runs through generation without modifying any GitHub state.
Type
string
Default
direct
force
Description
Forces SDK generation, even if no changes are detected.
Type
boolean
Default
false
set_version
Description
Manually set a specific version for the SDK being generated.
Type
string
Default
None

Workflow jobs

The generate job utilizes the Speakeasy SDK generation action. It references the workflow-executor.yaml from the sdk-generation-action repo, which handles the core operations like pulling the OpenAPI document, validating it, and generating the SDKs.

With

Input Name
speakeasy_version
Description
Version of the Speakeasy CLI to use. Use "latest" to always use the latest version.
Type
string
Default
latest
mode
Description
Workflow mode:
commits changes directly to the branch,
creates a pull request, or
fully runs through generation without modifying any GitHub state.
Type
string
Default
direct
force
Description
Forces SDK generation, even if no changes are detected.
Type
boolean
Default
false
set_version
Description
Manually set a specific version for the SDK being generated.
Type
string
Default
None
github_repository
Description
The GitHub repository path (e.g., 'owner/repo-name') that package registries should reference. This overrides the default repository detected from the current Git context.
Type
string
Default
None
runs-on
Description
Specifies the runner to use for the workflow. Use this to configure larger GitHub-hosted runners for resource-intensive builds. Accepts runner labels like 'ubuntu-latest' or custom labels for larger runners.
Type
string
Default
ubuntu-latest

Secrets

Secret Name
github_access_token
Description
GitHub access token with write access to the repository. Used to push changes and create PRs.
speakeasy_api_key
Description
API key for authenticating with the Speakeasy CLI.
npm_token
Description
Token to authenticate publishing to npm registry.
pypi_token
Description
Token to authenticate publishing to PyPi for Python packages.
packagist_token
Description
Token to authenticate publishing to Packagist for PHP packages.
ossrh_username
Description
Username for publishing the Java package to Sonatype Central Portal.
ossrh_password
Description
Password for publishing the Java package to Sonatype Central Portal.
java_gpg_secret_key
Description
GPG secret key used for signing the Java package.
java_gpg_passphrase
Description
Passphrase for the GPG secret key.
rubygems_auth_token
Description
Auth token (API key) for publishing to RubyGems.
nuget_api_key
Description
API key for publishing to the Nuget registry.
slack_webhook_url
Description
Optional: Slack Webhook URL for posting workflow failure notifications.
terraform_gpg_secret_key
Description
GPG secret key used for signing the Terraform provider.
terraform_gpg_passphrase
Description
Passphrase for the Terraform GPG secret key.

Workflow outputs

The workflow provides outputs that indicate which SDKs were regenerated and can trigger further actions in the pipeline, such as validating, testing, and publishing the SDKs.

Output Name
python_regenerated
Description
Indicates if the Python SDK was regenerated.
python_directory
Description
Directory where the Python SDK was generated.
typescript_regenerated
Description
Indicates if the TypeScript SDK was regenerated.
typescript_directory
Description
Directory where the TypeScript SDK was generated.
java_regenerated
Description
Indicates if the Java SDK was regenerated.
java_directory
Description
Directory where the Java SDK was generated.
go_regenerated
Description
Indicates if the Go SDK was regenerated.
go_directory
Description
Directory where the Go SDK was generated.
php_regenerated
Description
Indicates if the PHP SDK was regenerated.
php_directory
Description
Directory where the PHP SDK was generated.
ruby_regenerated
Description
Indicates if the Ruby SDK was regenerated.
ruby_directory
Description
Directory where the Ruby SDK was generated.
swift_regenerated
Description
Indicates if the Swift SDK was regenerated.
swift_directory
Description
Directory where the Swift SDK was generated.
terraform_regenerated
Description
Indicates if the Terraform SDK was regenerated.
terraform_directory
Description
Directory where the Terraform SDK was generated.
docs_regenerated
Description
Indicates if the SDK documentation was regenerated.
branch_name
Description
The branch name used for generating the SDK or the PR.
commit_hash
Description
The commit hash generated for the SDK (in direct mode).

Last updated on