czdev 发布流程优化 + cardputerzero.github.io 在线提交方案(issue-ops)#10
Draft
eggfly wants to merge 4 commits into
Draft
Conversation
Replace the naive numeric-only compare_versions duplicated in bump.py and publish.py with a shared debver module implementing the dpkg verrevcmp algorithm (epoch, tilde pre-releases, alphanumeric revisions). Cross-checked against dpkg --compare-versions on 3570 version pairs with zero mismatches, so czdev now agrees with apt/dpkg and the packages-repo CI. Co-authored-by: eggfly <lihaohua90@gmail.com>
- Push metadata over HTTPS using the OAuth token from 'czdev login' instead of git@github.com, so publishing no longer requires an SSH key. - Wait for the asynchronous fork to become ready and fast-forward its main via merge-upstream before branching, fixing failures on first-time and stale forks (publish and unpublish). - Configure a local git identity in the temp clone so committing works without global git config, matching the maintainer-email review check. - Redact the OAuth token from git error output. Co-authored-by: eggfly <lihaohua90@gmail.com>
README documents ./czdev login/publish/bump/unpublish, but the launcher was missing; add a thin bash wrapper that runs the Python package in scripts/ with only a Python 3 dependency. Co-authored-by: eggfly <lihaohua90@gmail.com>
The LFS-based publish flow was replaced by release manifests; update the README requirements and flow diagram accordingly. Add docs/ONLINE_SUBMISSION.md describing a zero-backend issue-ops flow for submitting packages from cardputerzero.github.io, with ready-to-apply issue form, workflow, and web snippets for the packages and site repositories. Co-authored-by: eggfly <lihaohua90@gmail.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
背景
回应「czdev 提交 deb 目前是 GitHub 登录的本地操作,能否让 cardputerzero.github.io 支持在线提交」以及 czdev / 开发者上传 Store 的相关优化。
czdev CLI 优化(本 PR 直接落地)
scripts/czdev/debver.py):原来bump.py/publish.py里各有一份只看数字的简易比较,1.0~beta、1.0-m5stack1、epoch 等都会判错,与packages仓库 CI 用的dpkg --compare-versions结论不一致。新实现移植 dpkg 的 verrevcmp 算法,已用 3570 组版本对与真实dpkg --compare-versions交叉验证,0 差异。czdev publish原来用git@github.com:推送,用户即使czdev login过了还得配 SSH key 才能发布。现在改用 HTTPS + OAuth token 推送,czdev login一次即可发布;git 报错输出会脱敏 token。git commit不再失败,且提交人邮箱与审核用的 noreply 邮箱一致。./czdev启动器:README 一直写./czdev login/publish,但仓库根本没有这个文件;新增 bash 包装脚本,仅需 Python 3。git-lfs要求,修正流程图里的 LFS 描述。已验证:全部模块编译通过;
./czdev bump --deb(假 deb + 线上索引)端到端跑通,正确查到 nc2000 线上 1.0.3 并建议 1.0.4。在线提交方案(设计文档
docs/ONLINE_SUBMISSION.md)结论:纯静态 Pages 无法直接在浏览器里复刻 czdev 流程——
uploads.github.com(Release 资产上传)和 OAuth 令牌交换端点都没有 CORS(已实测)。推荐零后端的 issue-ops 方案:.deb挂到自己仓库的 Release(GitHub 网页即可操作);CardputerZero/packages开 Issue(登录由 GitHub 原生处理);packages上的 Action 监听package-submissionIssue:下载校验.deb(与 validate-pr 同一套规则 + Issue 作者身份比对)、克隆源码仓库读取app-builder.jsonstore 元数据与截图、自动开发布 PR 并在 Issue 下回帖结果;文档里附了可直接套用的 Issue 表单、处理 workflow、网页代码片段,与 czdev CLI 通道产物格式完全一致、并存不冲突。
当前 agent 只有
m5stack/CardputerZero-AppBuilder的写权限,对以下两个仓库推送均被拒(已实测):CardputerZero/packages(放 Issue 表单 + 提交处理 workflow)CardputerZero/cardputerzero.github.io(加在线提交页面)请在 GitHub 上
CardputerZero组织 → Settings → GitHub Apps → Cursor → Repository access 中加入这两个仓库,之后即可继续落地在线提交的两侧改动。