用途:用于 contentstack-management-python 项目的本地环境搭建、提交 PR 以及对齐 CI 预期,回答“如何运行测试”“CI 中运行什么”等问题。
分支与发布:工作合并到 development;发布 PR 从 development 到 main。main 更新后,.github/workflows/back-merge-pr.yml 可创建 main → development 的回合并。PyPI 发布通过创建 GitHub Release(release: published)触发 .github/workflows/release.yml。涉及 contentstack_management/ 或 setup.py 的 PR 必须按 .github/workflows/check-version-bump.yml 更新 version 和 CHANGELOG.md。
提交 PR 前:安装可用 pip install -e ".[dev]",或安装 requirements.txt 及所需的 pytest / pytest-cov。pytest tests/unit/ 是必需基线,与 CI 的 coverage run -m pytest tests/unit/ 一致。改动影响实时 CMA 行为时运行 pytest tests/api/,并按 tests/cred.py 配置 .env,切勿提交 token。扩展 mocked HTTP 或 fixtures 时运行 pytest tests/mock/。
打包:更新 contentstack_management/init.py 的 version,如面向发布还需同步 setup.py 版本。
工具:requirements.txt 中列出 pylint,遵循所改文件的现有风格。Husky / Talisman / Snyk 的本地钩子设置见 README.md。
PR 要求:构建至少通过 pytest tests/unit/;改动涉及 API 或 mock 层时运行对应测试。合并前遵循 skills/code-review/SKILL.md。优先保持公共 API 向后兼容,并说明破坏性变更与 semver。