本文档涵盖了 Langflow 的开发工作流程、测试基础设施、代码质量流程和部署机制。它概述了用于维护代码质量和简化开发流程的工具、CI/CD 管道和开发实践。
有关测试策略和持续集成的详细信息,请参阅 测试和 CI/CD 管道。有关文档生成和管理,请参阅 文档系统。有关部署配置和生产设置,请参阅 部署和配置。
Langflow 开发环境围绕现代工具构建,使用 uv 进行 Python 依赖管理,使用 npm 进行前端依赖管理,并通过 GitHub Actions 进行自动化测试和质量保证。
来源: .github/workflows/python_test.yml1-150 .github/workflows/typescript_test.yml1-384 .github/workflows/lint-py.yml1-45 .github/workflows/style-check-py.yml1-30 .github/actions/setup-uv/action.yml1-22
测试基础设施通过区分前端和后端,采用不同的管道和工具。
来源: .github/workflows/python_test.yml32-149 .github/workflows/typescript_test.yml60-241 .github/workflows/store_pytest_durations.yml12-35
代码质量通过多个自动检查强制执行,这些检查会在拉取请求上运行,并可以自动修复常见问题。
| 工具 | 目的 | 工作流 | 配置 |
|---|---|---|---|
| Ruff | Python 格式化和 Linting | style-check-py.yml, py_autofix.yml | pyproject.toml |
| MyPy | Python 类型检查 | lint-py.yml | 命名空间包已启用 |
| Prettier | 前端代码格式化 | lint-js.yml, js_autofix.yml | .prettierrc |
| ESLint | JavaScript/TypeScript Linting | 与 Prettier 集成 | eslint.config.js |
来源: .github/workflows/style-check-py.yml26-27 .github/workflows/py_autofix.yml17-18 .github/workflows/lint-js.yml50-53 .github/workflows/js_autofix.yml40-43
开发环境使用 uv 进行 Python 包管理,并使用 npm 进行前端依赖管理,所有 CI/CD 工作流程中的设置均保持一致。
来源: .github/actions/setup-uv/action.yml12-21 .github/workflows/python_test.yml54-55 .github/workflows/typescript_test.yml197-207 .github/workflows/typescript_test.yml251-258
文档系统使用 Docusaurus,并支持手动更新以及从外部源进行自动同步。
来源: docs/README.md1-42 .github/workflows/docs_test.yml34-38 .github/workflows/fetch_docs_notion.yml36-54 docs/.yarnrc.yml1
完整的 CI/CD 管道通过基于文件更改和工作流触发器的条件执行来协调多个工作流。
来源: .github/workflows/typescript_test.yml74-96 .github/workflows/python_test.yml36-40 .github/workflows/store_pytest_durations.yml58-72 .github/workflows/auto-update.yml8-14