feat(lfx): Bundle Separation and LFX Extension Framework #58
This file contains hidden or 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: Extension Migration Checks | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, auto_merge_enabled] | |
| paths: | |
| - "BUNDLE_API.md" | |
| - "scripts/migrate/**" | |
| - "src/lfx/src/lfx/extension/**" | |
| - "src/lfx/src/lfx/components/**" | |
| - "src/bundles/**" | |
| - "src/backend/base/langflow/api/**.py" | |
| - ".github/workflows/extension-migration-checks.yml" | |
| jobs: | |
| bare-names: | |
| name: Migration table - bare-name uniqueness | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Run check_bare_names.py | |
| run: python scripts/migrate/check_bare_names.py | |
| append-only: | |
| name: Migration table - append-only | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Run check_migration_append_only.py | |
| run: | | |
| base_ref="origin/${GITHUB_BASE_REF:-main}" | |
| python scripts/migrate/check_migration_append_only.py --base "$base_ref" | |
| bundle-api-changelog: | |
| name: BUNDLE_API.md changelog gate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Run check_bundle_api_changelog.py | |
| run: | | |
| base_ref="origin/${GITHUB_BASE_REF:-main}" | |
| python scripts/migrate/check_bundle_api_changelog.py --base "$base_ref" | |
| router-trust: | |
| name: Router trust - no install/uninstall under /api/v1/extensions | |
| runs-on: ubuntu-latest | |
| # Trigger on any change to API modules so the guard catches a new | |
| # router file that mounts /extensions, not just edits to the existing | |
| # extensions.py. The guard itself filters down to in-scope files. | |
| if: ${{ github.event_name == 'pull_request' }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Run check_router_trust.py | |
| run: python scripts/migrate/check_router_trust.py |