Spaces:
Paused
Paused
| name: Generate Pydantic Stubs from api.comfy.org | |
| on: | |
| schedule: | |
| - cron: '0 0 * * 1' | |
| workflow_dispatch: | |
| jobs: | |
| generate-models: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install 'datamodel-code-generator[http]' | |
| npm install @redocly/cli | |
| - name: Download OpenAPI spec | |
| run: | | |
| curl -o openapi.yaml https://api.comfy.org/openapi | |
| - name: Filter OpenAPI spec with Redocly | |
| run: | | |
| npx @redocly/cli bundle openapi.yaml --output filtered-openapi.yaml --config comfy_api_nodes/redocly.yaml --remove-unused-components | |
| - name: Generate API models | |
| run: | | |
| datamodel-codegen --use-subclass-enum --input filtered-openapi.yaml --output comfy_api_nodes/apis --output-model-type pydantic_v2.BaseModel | |
| - name: Check for changes | |
| id: git-check | |
| run: | | |
| git diff --exit-code comfy_api_nodes/apis || echo "changes=true" >> $GITHUB_OUTPUT | |
| - name: Create Pull Request | |
| if: steps.git-check.outputs.changes == 'true' | |
| uses: peter-evans/create-pull-request@v5 | |
| with: | |
| commit-message: 'chore: update API models from OpenAPI spec' | |
| title: 'Update API models from api.comfy.org' | |
| body: | | |
| This PR updates the API models based on the latest api.comfy.org OpenAPI specification. | |
| Generated automatically by the a Github workflow. | |
| branch: update-api-stubs | |
| delete-branch: true | |
| base: master | |