Commit Graph

195 Commits

Author SHA1 Message Date
zhou fbd17536fd ci: 重写 CI/Release 为 GitHub 兼容版本并加文档构建
CI / Lint & Typecheck (push) Failing after 8m55s
CI / Test (Python 3.11) (push) Failing after 31s
CI / Test (Python 3.13) (push) Failing after 31s
CI / Test (Python 3.8) (push) Failing after 31s
CI / Docs Build (push) Failing after 31s
ci.yml 改用标准 actions (checkout/setup-uv/setup-python), 新增
pyrefly 类型检查、coverage 阈值检查 (>=95%)、Sphinx 文档构建三个
job, 多版本矩阵测试 (py38/py311/py313)。release.yml 改用标准
actions, 发布到 PyPI + GitHub Release (替代原 Gitea Release)。
2026-07-05 12:32:00 +08:00
zhou 32ca8c1208 docs: 搭建 Sphinx 文档站并清理死代码
CI / Lint, Typecheck & Test (push) Successful in 1m57s
1. 新建 docs/ Sphinx 文档结构 (conf.py + 8 个 rst 章节),
   napoleon 支持 Google/NumPy docstring, rtd 主题,
   自动生成 API 参考与错误家族文档
2. 新建 .readthedocs.yaml 配置, pyproject.toml 加 docs 依赖
3. 删除 runner.py 的 _apply_verbose_to_graph 死代码及对应测试
   (功能已移入 executors.run 统一处理)
4. 更新 README: CLI 示例改为 pf 统一入口, 模块结构表补全
   cli/pf.py/cli/configs/cli/_ops 等模块
5. 修复版本不一致 (pyproject.toml 0.3.5 → 0.4.5)
6. 加文档徽章链接到 ReadTheDocs
2026-07-05 12:17:10 +08:00
zhou a7ff68d279 feat: pf 默认显示 verbose 执行过程, --quiet 关闭
CI / Lint, Typecheck & Test (push) Successful in 1m17s
run() 在 verbose=True 时自动把 verbose 标记应用到所有 spec,
使 execute_command 打印执行命令与返回码 (此前只 callback 打印
任务生命周期)。全局选项 --verbose 改为 --quiet (默认 verbose=True,
传 --quiet 关闭)。gittool CLEAN_EXCLUDES 补全 .pytest_cache/
.ruff_cache/.vscode/.trae/.qoder/.editorconfig 等目录。
2026-07-05 08:46:15 +08:00
zhou de368ea810 refactor: 删除冗余 cli 入口脚本, gittool 用数组配置 clean excludes
CI / Lint, Typecheck & Test (push) Successful in 1m11s
1. 删除 13 个已有 YAML 配置的 cli .py 入口脚本, 统一通过 pf 调用
2. gittool.yaml 用 CLEAN_EXCLUDES 数组变量配置 git clean 的 -e 参数,
   保留 .venv/.tox/node_modules/.idea 等目录避免误删
3. run_cli 执行前打印调用信息: [gittool] 执行: c
4. 更新 pyproject.toml 移除 13 个冗余 entry points, 仅保留 pf
5. 清理测试文件中的 TestMain 类 (测 _ops 模块的测试保留)
2026-07-05 08:39:20 +08:00
zhou 6a3e3a57cd fix: cmd 任务成功时打印 stdout
CI / Lint, Typecheck & Test (push) Failing after 50s
execute_command 在非 verbose 模式下捕获 stdout 后直接 return None,
导致 git status --porcelain 等命令的输出被丢弃。
现在成功时若有 stdout 则打印到终端, 保留失败时的 stderr 信息。
2026-07-05 00:52:38 +08:00
zhou 7089944306 build: 调整pyproject.toml中pf命令的脚本位置
将pf命令的脚本配置移至文件末尾,修正脚本条目排序
2026-07-05 00:50:16 +08:00
zhou ec5e348694 feat: 新增 pf 统一入口, YAML 配置自带 CLI 参数定义
CI / Lint, Typecheck & Test (push) Failing after 47s
新增 pf 统一 CLI 入口, 通过 YAML 的 cli: 段定义参数解析规则,
逐步消除工具 .py 入口文件。yaml_loader 新增 build_cli_parser
和 run_cli 函数, 支持 subcommands/positional/options 三级 schema,
内置 --dry-run/--verbose/--strategy/--list 全局选项。
13 个工具 YAML 配置全部添加 cli: 段。
2026-07-04 20:31:40 +08:00
zhou 12d9f2f647 fix: 恢复 gittool 条件逻辑,修复 has_files 检查 git status
CI / Lint, Typecheck & Test (push) Successful in 1m56s
将 gitt a/i 命令改用 fn job 包装(git_add_commit/git_init_add_commit),
内部检查 has_files() 和 not_has_git_repo() 条件,避免无更改时 git commit
报错。修正 has_files() 实现为检查 git status --porcelain 而非目录文件。
2026-07-04 20:00:25 +08:00
zhou 6ffcbecade chore: update 2026-07-04 19:57:20 +08:00
zhou e76d93187b chore: update 2026-07-04 19:55:09 +08:00
zhou 52e20e3f93 style: 统一调整代码格式,将单行列表展开为多行缩进格式 2026-07-04 19:49:10 +08:00
zhou 3f966a230e refactor: 简化 CLI 工具入口为 YAML 加载器
CI / Lint, Typecheck & Test (push) Successful in 2m5s
将 13 个工具入口文件重构为通过 px.run_yaml 调用 YAML 配置,
辅助函数移至 _ops 模块。新增 run_yaml 便捷函数支持 job 选择
和传递依赖收集,修复 _build_cmd 列表变量展开,新增 bump_project_version
高层函数封装版本号更新+git 提交流程。
2026-07-04 19:35:08 +08:00
zhou 5d0b211a44 feat: 新增 13 个 CLI 工具的 YAML 配置并修复 _ops 函数注册
CI / Lint, Typecheck & Test (push) Successful in 1m41s
- 在 cli/configs/ 下创建 13 个 YAML 工作流配置, 覆盖 filedate/filelevel/folderback/
  folderzip/autofmt/bumpversion/piptool/gittool/pdftool/screenshot/lscalc/
  sshcopyid/packtool 工具, 共 51 个 job (cmd 与 fn 混合)
- yaml_loader 模块级导入 _ops 子模块, 使 YAML fn 字段可引用注册函数,
  try/except 守卫避免最小安装场景下的 ImportError
- 修复 test_registry 的 clear_registry fixture: 保存/恢复 _REGISTRY 原始状态,
  避免 teardown 清空 _ops 自动注册的函数导致 TestOpsModules 失败
2026-07-04 18:35:20 +08:00
zhou 6931f36fd1 feat: 新增函数注册机制与 CLI 工具函数模块
CI / Lint, Typecheck & Test (push) Successful in 2m27s
- 新增 registry.py 提供 register_fn/get_fn/has_fn 函数注册机制, 支持 @register_fn 和 @register_fn("name") 两种用法
- 新增 cli/_ops 包 (files/dev/media/system 四个子模块), 聚合 59 个可复用函数供 YAML fn 字段引用
- 扩展 yaml_loader 支持 fn 字段、args/kwargs 传参、${VAR} 变量占位符
- 新增 test_registry.py (20 个测试) 和扩展 test_yaml_loader.py
- 更新自驱动规则: 自动 commit+push, 删除需要用户明确指示的步骤
2026-07-04 18:24:52 +08:00
zhou db02443463 feat: 新增 YAML 任务编排功能
1. 新增 yaml_loader 模块,支持加载 GitHub Actions 风格的 YAML 任务图
2. 新增 Graph.from_yaml 静态方法,支持从 YAML 文件构建任务图
3. 新增 yamlrun CLI 工具,支持执行、预览 YAML 任务流水线
4. 添加 pyyaml 运行时依赖与 types-PyYAML 开发依赖
5. 更新 README 文档与对外暴露的 API 接口
2026-07-04 16:00:04 +08:00
zhou eb8e1402bc docs: 更新自驱动规则文档,补充决策判据与细节
补充自主决策的具体范围、收尾规则,新增决策判据章节,细化暂停条件与沟通要求
2026-07-04 15:29:47 +08:00
zhou c93f45dcb8 refactor: 统一使用px.task/px.cmd替代旧版TaskSpec创建任务
本次提交将项目内所有使用px.TaskSpec创建任务的代码,替换为新的px.task和px.cmd快捷API,简化了任务定义写法,同时更新了版本号到0.3.5。重构过程中保持了原有功能逻辑不变,仅调整了代码书写格式,提升了代码可读性和编写效率。
2026-07-04 15:22:27 +08:00
zhou a0b1814024 style: 格式化sshcopyid.py的列表代码,提升可读性
调整了px.Graph.from_specs的参数列表排版,将多行列表缩进优化为更简洁的单行展开格式,不改变代码实际功能。
2026-07-04 13:43:33 +08:00
zhou 3a2826d3f9 bump version to 0.3.5
CI / Lint, Typecheck & Test (push) Successful in 1m47s
Release / Build, Publish & Release (push) Successful in 1m2s
v0.3.5
2026-07-04 11:36:07 +08:00
zhou dbd30689ab chore(ci): 更新release工作流的gitea服务地址
将GITEA_URL从10.0.16.16:3000调整为172.17.0.1:3000,适配新的内网部署地址
2026-07-04 11:36:04 +08:00
zhou 5eb59b8a66 bump version to 0.3.4
CI / Lint, Typecheck & Test (push) Successful in 1m8s
Release / Build, Publish & Release (push) Failing after 30s
v0.3.4
2026-07-04 11:24:11 +08:00
zhou 8e7b866de2 更新 .github/workflows/release.yml
CI / Lint, Typecheck & Test (push) Has been cancelled
2026-07-04 03:23:16 +00:00
zhou 1b4f9bfa6a bump version to 0.3.3
CI / Lint, Typecheck & Test (push) Successful in 1m8s
Release / Build, Publish & Release (push) Has been cancelled
v0.3.3
2026-07-04 11:16:31 +08:00
zhou 2d39272330 ci(github workflows): update pypi api token secret name
将PyPI发布步骤中的密钥变量名从PYPI_API_TOKEN改为PYPI_TOKEN,保持配置一致性
2026-07-04 11:16:24 +08:00
zhou f699bb9167 chore: 升级pyflowx版本到0.3.2
CI / Lint, Typecheck & Test (push) Successful in 1m19s
2026-07-04 10:50:50 +08:00
zhou 35f07e96e1 ci: 更新CI和release工作流配置
CI / Lint, Typecheck & Test (push) Failing after 1m18s
1. 将CI容器镜像从固定版本改为latest
2. 简化PyPI发布步骤,改用uv publish命令
3. 重构Gitea发布脚本,优化release创建和资产上传流程
2026-07-04 10:45:35 +08:00
zhou 1f274fe828 bump version to 0.3.1
CI / Lint, Typecheck & Test (push) Successful in 1m16s
Release / Build, Publish & Release (push) Has been cancelled
v0.3.1
2026-07-04 10:32:45 +08:00
zhou 85793ff9d5 test(cli): 为文件写入错误测试添加root权限跳过逻辑
CI / Lint, Typecheck & Test (push) Has been cancelled
2026-07-04 10:22:35 +08:00
zhou 37ac4b8025 ci: 为CI和release工作流配置国内PyPI源
CI / Lint, Typecheck & Test (push) Failing after 1m18s
添加清华PyPI源配置,加速国内环境下的依赖安装速度
2026-07-04 09:53:35 +08:00
zhou 0edeadb846 build: 配置国内PyPI镜像源加速依赖安装
CI / Lint, Typecheck & Test (push) Failing after 1m51s
2026-07-04 09:50:15 +08:00
zhou f63db6c71a ~
CI / Lint, Typecheck & Test (push) Failing after 1m17s
2026-07-04 09:41:42 +08:00
zhou 4d397606e6 build: 迁移uv配置到pyproject.toml并删除uv.toml文件
CI / Lint, Typecheck & Test (push) Has been cancelled
将原uv.toml中的配置项迁移到pyproject.toml的tool.uv区块,移除冗余的独立uv配置文件
2026-07-04 08:39:22 +08:00
zhou f24388b151 更新 .github/workflows/ci.yml
CI / Lint, Typecheck & Test (push) Failing after 1h42m18s
2026-07-03 15:05:20 +00:00
zhou 535b7cba31 ~uv.toml
CI / Lint, Typecheck & Test (push) Has been cancelled
2026-07-03 21:31:31 +08:00
zhou 3f68bed3fd chore(pyproject): add unused-ignore=false config
CI / Lint, Typecheck & Test (push) Has been cancelled
2026-07-03 21:08:10 +08:00
zhou 2e2ca812a1 build(Dockerfile): 安装Node.js 20.x以支持actions/checkout
CI / Lint, Typecheck & Test (push) Failing after 1h6m49s
为了满足actions/checkout的运行依赖,在Docker镜像中新增安装Node.js 20版本,并验证安装正常
2026-07-03 13:39:57 +08:00
zhou 8de565d0cb ci(ci.yml): 将CI镜像标签从1.0.0改为latest
CI / Lint, Typecheck & Test (push) Failing after 26s
使用latest标签可以自动获取最新的CI镜像版本,无需手动更新版本号
2026-07-03 13:31:40 +08:00
zhou 5480c48e67 ci(github workflows): 移除uv sync的回退命令
CI / Lint, Typecheck & Test (push) Failing after 22s
简化CI依赖同步步骤,去掉失败后重试的uv sync命令
2026-07-03 13:30:23 +08:00
zhou c6653d5117 +docker cmd
CI / Lint, Typecheck & Test (push) Failing after 22s
2026-07-03 12:53:11 +08:00
zhou d194a991a0 chore: 移除llm额外依赖组并更新dev依赖配置
CI / Lint, Typecheck & Test (push) Failing after 27s
删除了llm相关的依赖分组,同时调整dev依赖组移除对llm可选依赖的引用
2026-07-03 12:18:24 +08:00
zhou 4446658170 ci(github workflows): 优化CI/CD流程,使用自定义容器并简化步骤
CI / Lint, Typecheck & Test (push) Failing after 23s
1. 为CI和release任务添加自定义pyflowx-ci容器并配置UV链接模式
2. 移除冗余的setup-uv和setup-python步骤,合并依赖同步、代码检查命令
3. 简化步骤命名和执行逻辑,统一使用uv管理工具链
2026-07-03 07:50:59 +08:00
zhou 1d26f9d3e7 build: 添加dockerignore和Dockerfile配置文件
新增.dockerignore文件忽略不必要的构建文件,同时创建Dockerfile配置容器构建流程,使用国内镜像源加速拉取依赖和基础镜像,预装uv和多版本Python环境
2026-07-03 07:48:26 +08:00
zhou d9644ca5d1 ci(github workflow): 更新uv版本到0.11.26
CI / Lint, Typecheck & Test (push) Has been cancelled
将CI工作流中的uv版本从0.8.0升级到0.11.26,获取最新功能和修复
2026-07-03 07:44:04 +08:00
zhou d3c2d53449 build: 升级pyflowx版本到0.3.0
CI / Lint, Typecheck & Test (push) Has been cancelled
更新项目版本号从0.2.13至0.3.0
2026-07-03 07:39:30 +08:00
zhou 9cfcfb38e4 更新 .github/workflows/ci.yml
CI / Lint, Typecheck & Test (push) Has been cancelled
2026-07-02 15:03:23 +00:00
zhou 69db241611 添加 uv.toml
CI / Lint, Typecheck & Test (push) Failing after 21s
2026-07-02 15:00:39 +00:00
zhou 66e6295a24 ci(github workflow): 固定setup-uv和setup-python的版本
CI / Lint, Typecheck & Test (push) Failing after 7m12s
2026-07-02 22:39:50 +08:00
zhou aebb4fce68 ci: 将CI工作流的依赖action版本切换为main分支
CI / Lint, Typecheck & Test (push) Failing after 20s
更新了checkout、setup-uv、setup-python这几个action的引用标签,从固定版本改为使用main分支
2026-07-02 21:18:49 +08:00
zhou 7784c8ff86 ci: 将github actions源替换为内部gitea仓库地址
CI / Lint, Typecheck & Test (push) Failing after 2m45s
2026-07-02 20:53:56 +08:00
zhou 77918a5568 ci: 替换github actions为国内gitcode镜像源
CI / Lint, Typecheck & Test (push) Failing after 1s
2026-07-02 20:48:48 +08:00