java, improvement: run seed faster using local mode #3676
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 }} | |
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/**' | |
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 | |
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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- 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: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- 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: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- 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: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Yarn Install | |
run: yarn install | |
- name: Seed Test | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn 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/*" |