From dc33ab18bce084e44bbe041f84b424f7223a13b2 Mon Sep 17 00:00:00 2001 From: Dhruva Reddy Date: Thu, 25 Jun 2026 13:46:03 -0700 Subject: [PATCH] fix: require SDK release PR approval --- .github/workflows/release-csharp-sdk.yml | 15 +++------------ .github/workflows/release-go-sdk.yml | 18 ++++-------------- .github/workflows/release-java-sdk.yml | 17 ++++------------- .github/workflows/release-php-sdk.yml | 8 +++++++- .github/workflows/release-python-sdk.yml | 15 +++------------ .github/workflows/release-ruby-sdk.yml | 17 ++++------------- .github/workflows/release-swift-sdk.yml | 8 +++++++- .github/workflows/release-ts-sdk.yml | 17 ++++------------- fern/apis/api/generators.yml | 7 +++++++ 9 files changed, 43 insertions(+), 79 deletions(-) diff --git a/.github/workflows/release-csharp-sdk.yml b/.github/workflows/release-csharp-sdk.yml index 2258bb5fd..a2498ba2e 100644 --- a/.github/workflows/release-csharp-sdk.yml +++ b/.github/workflows/release-csharp-sdk.yml @@ -4,8 +4,8 @@ on: workflow_call: inputs: makePR: - description: Make Pull Request - default: false + description: "Compatibility input; SDK releases always open pull requests for manual approval" + default: true type: boolean version: description: "The version of the C# SDK that you would like to release" @@ -17,11 +17,6 @@ on: description: "The version of the C# SDK that you would like to release" required: true type: string - makePR: - description: Make Pull Request - required: true - default: false - type: boolean jobs: release: @@ -41,8 +36,4 @@ jobs: FERN_TOKEN: ${{ secrets.FERN_TOKEN }} NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} run: | - if [ "${{ github.event.inputs.makePR }}" = "true" ]; then - fern generate --api api --group csharp-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug - else - fern generate --api api --group csharp-sdk --version ${{ inputs.version }} --log-level debug - fi \ No newline at end of file + fern generate --api api --group csharp-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug diff --git a/.github/workflows/release-go-sdk.yml b/.github/workflows/release-go-sdk.yml index 8a82753cc..113b210ad 100644 --- a/.github/workflows/release-go-sdk.yml +++ b/.github/workflows/release-go-sdk.yml @@ -4,8 +4,8 @@ on: workflow_call: inputs: makePR: - description: Make Pull Request - default: false + description: "Compatibility input; SDK releases always open pull requests for manual approval" + default: true type: boolean version: description: "The version of the Go SDK that you would like to release (optional - will auto-increment patch version if not provided)" @@ -17,11 +17,6 @@ on: description: "The version of the Go SDK that you would like to release (optional - will auto-increment patch version if not provided)" required: false type: string - makePR: - description: Make Pull Request - required: true - default: false - type: boolean jobs: determine-version: @@ -86,10 +81,5 @@ jobs: env: FERN_TOKEN: ${{ secrets.FERN_TOKEN }} run: | - if [ "${{ github.event.inputs.makePR }}" = "true" ]; then - echo "Generating Go SDK for version ${{ needs.determine-version.outputs.version }} in pull request mode" - fern generate --api api --group go-sdk --version ${{ needs.determine-version.outputs.version }} --mode pull-request --log-level debug - else - echo "Generating Go SDK for version ${{ needs.determine-version.outputs.version }}" - fern generate --api api --group go-sdk --version ${{ needs.determine-version.outputs.version }} --log-level debug - fi \ No newline at end of file + echo "Generating Go SDK for version ${{ needs.determine-version.outputs.version }} in pull request mode" + fern generate --api api --group go-sdk --version ${{ needs.determine-version.outputs.version }} --mode pull-request --log-level debug diff --git a/.github/workflows/release-java-sdk.yml b/.github/workflows/release-java-sdk.yml index bc2f90b0f..c648cfb63 100644 --- a/.github/workflows/release-java-sdk.yml +++ b/.github/workflows/release-java-sdk.yml @@ -4,11 +4,11 @@ on: workflow_call: inputs: makePR: - description: Make Pull Request - default: false + description: "Compatibility input; SDK releases always open pull requests for manual approval" + default: true type: boolean version: - description: "The version of the C# SDK that you would like to release" + description: "The version of the Java SDK that you would like to release" required: true type: string workflow_dispatch: @@ -17,11 +17,6 @@ on: description: "The version of the Java SDK that you would like to release" required: true type: string - makePR: - description: Make Pull Request - required: true - default: false - type: boolean jobs: release: @@ -42,8 +37,4 @@ jobs: MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} run: | - if [ "${{ github.event.inputs.makePR }}" = "true" ]; then - fern generate --api api --group java-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug - else - fern generate --api api --group java-sdk --version ${{ inputs.version }} --log-level debug - fi \ No newline at end of file + fern generate --api api --group java-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug diff --git a/.github/workflows/release-php-sdk.yml b/.github/workflows/release-php-sdk.yml index 78341822a..7fc44e859 100644 --- a/.github/workflows/release-php-sdk.yml +++ b/.github/workflows/release-php-sdk.yml @@ -1,6 +1,12 @@ name: Release PHP SDK on: + workflow_call: + inputs: + version: + description: "The version of the PHP SDK that you would like to release" + required: true + type: string workflow_dispatch: inputs: version: @@ -22,4 +28,4 @@ jobs: env: FERN_TOKEN: ${{ secrets.FERN_TOKEN }} run: | - fern generate --group php-sdk --version ${{ inputs.version }} --log-level debug + fern generate --group php-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug diff --git a/.github/workflows/release-python-sdk.yml b/.github/workflows/release-python-sdk.yml index b17ffdc59..2942139e3 100644 --- a/.github/workflows/release-python-sdk.yml +++ b/.github/workflows/release-python-sdk.yml @@ -4,8 +4,8 @@ on: workflow_call: inputs: makePR: - description: Make Pull Request - default: false + description: "Compatibility input; SDK releases always open pull requests for manual approval" + default: true type: boolean version: description: "The version of the Python SDK that you would like to release (optional - will auto-increment patch version if not provided)" @@ -17,11 +17,6 @@ on: description: "The version of the Python SDK that you would like to release (optional - will auto-increment patch version if not provided)" required: false type: string - makePR: - description: Make Pull Request - required: true - default: false - type: boolean jobs: determine-version: @@ -87,8 +82,4 @@ jobs: FERN_TOKEN: ${{ secrets.FERN_TOKEN }} PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} run: | - if [ "${{ github.event.inputs.makePR }}" = "true" ]; then - fern generate --api api --group python-sdk --version ${{ needs.determine-version.outputs.version }} --mode pull-request --log-level debug - else - fern generate --api api --group python-sdk --version ${{ needs.determine-version.outputs.version }} --log-level debug - fi + fern generate --api api --group python-sdk --version ${{ needs.determine-version.outputs.version }} --mode pull-request --log-level debug diff --git a/.github/workflows/release-ruby-sdk.yml b/.github/workflows/release-ruby-sdk.yml index 15d6c64fe..5724f2d99 100644 --- a/.github/workflows/release-ruby-sdk.yml +++ b/.github/workflows/release-ruby-sdk.yml @@ -4,11 +4,11 @@ on: workflow_call: inputs: makePR: - description: Make Pull Request - default: false + description: "Compatibility input; SDK releases always open pull requests for manual approval" + default: true type: boolean version: - description: "The version of the C# SDK that you would like to release" + description: "The version of the Ruby SDK that you would like to release" required: true type: string workflow_dispatch: @@ -17,11 +17,6 @@ on: description: "The version of the Ruby SDK that you would like to release" required: true type: string - makePR: - description: Make Pull Request - required: true - default: false - type: boolean jobs: release: @@ -41,8 +36,4 @@ jobs: FERN_TOKEN: ${{ secrets.FERN_TOKEN }} RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }} run: | - if [ "${{ github.event.inputs.makePR }}" = "true" ]; then - fern generate --api api --group ruby-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug - else - fern generate --api api --group ruby-sdk --version ${{ inputs.version }} --log-level debug - fi \ No newline at end of file + fern generate --api api --group ruby-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug diff --git a/.github/workflows/release-swift-sdk.yml b/.github/workflows/release-swift-sdk.yml index 85cab59b3..85bf67a5c 100644 --- a/.github/workflows/release-swift-sdk.yml +++ b/.github/workflows/release-swift-sdk.yml @@ -1,6 +1,12 @@ name: Release Swift SDK on: + workflow_call: + inputs: + version: + description: "The version of the Swift SDK that you would like to release" + required: true + type: string workflow_dispatch: inputs: version: @@ -22,4 +28,4 @@ jobs: env: FERN_TOKEN: ${{ secrets.FERN_TOKEN }} run: | - fern generate --group swift-sdk --version ${{ inputs.version }} --log-level debug + fern generate --group swift-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug diff --git a/.github/workflows/release-ts-sdk.yml b/.github/workflows/release-ts-sdk.yml index 1d9c0ca2b..45a8845ac 100644 --- a/.github/workflows/release-ts-sdk.yml +++ b/.github/workflows/release-ts-sdk.yml @@ -4,11 +4,11 @@ on: workflow_call: inputs: makePR: - description: Make Pull Request - default: false + description: "Compatibility input; SDK releases always open pull requests for manual approval" + default: true type: boolean version: - description: "The version of the C# SDK that you would like to release" + description: "The version of the TypeScript SDK that you would like to release" required: true type: string workflow_dispatch: @@ -17,11 +17,6 @@ on: description: "The version of the TypeScript SDK that you would like to release" required: true type: string - makePR: - description: Make Pull Request - required: true - default: false - type: boolean jobs: release: @@ -41,8 +36,4 @@ jobs: FERN_TOKEN: ${{ secrets.FERN_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: | - if [ "${{ github.event.inputs.makePR }}" = "true" ]; then - fern generate --api api --group ts-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug - else - fern generate --api api --group ts-sdk --version ${{ inputs.version }} --log-level debug - fi \ No newline at end of file + fern generate --api api --group ts-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug diff --git a/fern/apis/api/generators.yml b/fern/apis/api/generators.yml index d8751add0..06857510a 100644 --- a/fern/apis/api/generators.yml +++ b/fern/apis/api/generators.yml @@ -22,6 +22,7 @@ groups: token: ${PYPI_TOKEN} github: repository: VapiAI/server-sdk-python + mode: pull-request config: pydantic_config: skip_validation: true @@ -40,6 +41,7 @@ groups: token: OIDC github: repository: VapiAI/server-sdk-typescript + mode: pull-request config: namespaceExport: Vapi allowCustomFetcher: true @@ -59,6 +61,7 @@ groups: prefer-undiscriminated-unions-with-literals: true github: repository: VapiAI/server-sdk-go + mode: pull-request config: union: v1 smart-casing: false @@ -69,6 +72,7 @@ groups: disable-examples: true github: repository: VapiAI/server-sdk-ruby + mode: pull-request output: location: rubygems package-name: vapi_server_sdk @@ -83,6 +87,7 @@ groups: disable-examples: true github: repository: VapiAI/server-sdk-csharp + mode: pull-request output: location: nuget package-name: Vapi.Net @@ -103,6 +108,7 @@ groups: version: 2.4.0 github: repository: VapiAI/server-sdk-php + mode: pull-request config: namespace: Vapi client-class-name: VapiClient @@ -114,6 +120,7 @@ groups: disable-examples: true github: repository: VapiAI/server-sdk-swift + mode: pull-request config: clientClassName: VapiClient moduleName: Vapi