fix(cli): validated example generation #9760
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: seed | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_call: | |
# Cancel previous workflows on previous push | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
changes: | |
runs-on: ubuntu-latest | |
outputs: | |
seed: ${{ steps.filter.outputs.seed }} | |
ruby: ${{ steps.filter.outputs.ruby }} | |
openapi: ${{ steps.filter.outputs.openapi }} | |
python: ${{ steps.filter.outputs.python }} | |
postman: ${{ steps.filter.outputs.postman }} | |
java: ${{ steps.filter.outputs.java }} | |
typescript: ${{ steps.filter.outputs.typescript }} | |
go: ${{ steps.filter.outputs.go }} | |
csharp: ${{ steps.filter.outputs.csharp }} | |
php: ${{ steps.filter.outputs.php }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
seed: | |
- '.github/workflows/seed.yml' | |
- 'packages/seed/**' | |
- 'test-definitions/**' | |
- 'packages/ir-sdk/fern/apis/**' | |
- 'packages/cli/generation/ir-generator/**' | |
ruby: | |
- 'generators/ruby/**' | |
- seed/ruby-sdk/seed.yml | |
- seed/ruby-model/seed.yml | |
openapi: | |
- 'generators/openapi/**' | |
- seed/openapi/seed.yml | |
python: | |
- 'generators/python/**' | |
- seed/pydantic/seed.yml | |
- seed/python-sdk/seed.yml | |
- seed/fastapi/seed.yml | |
postman: | |
- 'generators/postman/**' | |
- seed/postman/seed.yml | |
java: | |
- 'generators/java/**' | |
- seed/java-sdk/seed.yml | |
- seed/java-model/seed.yml | |
- seed/java-spring/seed.yml | |
typescript: | |
- 'generators/typescript/**' | |
- seed/ts-sdk/seed.yml | |
- seed/ts-express/seed.yml | |
go: | |
- 'generators/go/**' | |
- seed/go-sdk/seed.yml | |
- seed/go-model/seed.yml | |
- seed/go-fiber/seed.yml | |
csharp: | |
- 'generators/csharp/**' | |
- seed/csharp-sdk/seed.yml | |
- seed/csharp-model/seed.yml | |
php: | |
- 'generators/php/**' | |
- seed/php-sdk/seed.yml | |
- seed/php-model/seed.yml | |
ruby-model: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.ruby == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator ruby-model | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
ruby-sdk: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.ruby == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator ruby-sdk | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
pydantic-model: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.python == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Install Dependencies | |
working-directory: ./generators/python | |
run: poetry install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator pydantic | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
python-sdk: | |
runs-on: Seed | |
needs: changes | |
if: ${{ needs.changes.outputs.python == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Install Dependencies | |
working-directory: ./generators/python | |
run: poetry install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator python-sdk --parallel 10 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
fastapi: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.python == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Install Dependencies | |
working-directory: ./generators/python | |
run: poetry install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator fastapi | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
openapi: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.openapi == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator openapi | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
postman: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.postman == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator postman | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
java-sdk: | |
runs-on: Seed | |
needs: changes | |
if: ${{ needs.changes.outputs.java == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator java-sdk --parallel 10 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
java-model: | |
runs-on: Seed | |
needs: changes | |
if: ${{ needs.changes.outputs.java == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator java-model --parallel 10 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
java-spring: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.java == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator java-spring | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
typescript-sdk: | |
runs-on: Seed | |
needs: changes | |
if: ${{ needs.changes.outputs.typescript == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator ts-sdk --parallel 10 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
typescript-express: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.typescript == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator ts-express --parallel 10 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
go-fiber: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.go == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator go-fiber --parallel 16 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
go-model: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.go == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator go-model --parallel 16 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
go-sdk: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.go == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator go-sdk --parallel 16 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
csharp-model: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.csharp == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator csharp-model --parallel 16 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
csharp-sdk: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.csharp == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator csharp-sdk --parallel 16 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
php-model: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.php == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator php-model --parallel 8 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" | |
php-sdk: | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.php == 'true' || needs.changes.outputs.seed == 'true' }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Install | |
uses: ./.github/actions/install | |
- uses: bufbuild/buf-setup-action@v1.34.0 | |
with: | |
github_token: ${{ github.token }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: "stable" | |
- name: Install protoc-gen-openapi | |
run: go install github.com/google/gnostic/cmd/protoc-gen-openapi@v0.7.0 | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
pnpm seed:local test --generator php-sdk --parallel 8 | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code -- ":(exclude)seed/*/.mock/*" |