diff --git a/.github/workflows/sdk_generation_for_spec_change.yaml b/.github/workflows/sdk_generation_for_spec_change.yaml new file mode 100644 index 0000000..37d96a6 --- /dev/null +++ b/.github/workflows/sdk_generation_for_spec_change.yaml @@ -0,0 +1,40 @@ +name: Generate (spec change merged) +permissions: + checks: write + contents: write + pull-requests: write + statuses: write + id-token: write +"on": + workflow_dispatch: + inputs: + force: + description: Force generation of SDKs + type: boolean + default: false + set_version: + description: optionally set a specific SDK version + type: string + pull_request: + types: [closed] + branches: + - main + paths: + - .speakeasy/in.openapi.yaml + +jobs: + generate: + if: github.event.pull_request.merged == true || github.event_name == 'workflow_dispatch' + uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 + with: + force: ${{ github.event.inputs.force }} + mode: direct + set_version: ${{ github.event.inputs.set_version }} + secrets: + # Must be a PAT with push access to this repo (not the default + # GITHUB_TOKEN): pushes made with GITHUB_TOKEN do not trigger other + # workflows, so the publish workflow (push on .speakeasy/gen.lock) + # would never fire. Same secret name as go-sdk uses for this purpose. + github_access_token: ${{ secrets.SDK_MERGE_PAT }} + pypi_token: ${{ secrets.PYPI_TOKEN }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}