Skip to content

Automate subtree snapshot synchronization - #24

Open
Maple127667 wants to merge 23 commits into
mainfrom
dev
Open

Automate subtree snapshot synchronization#24
Maple127667 wants to merge 23 commits into
mainfrom
dev

Conversation

@Maple127667

@Maple127667 Maple127667 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a daily and manually-triggered subtree snapshot workflow
  • restrict synchronization to 8 main repositories, 12 direct dependencies, and 3 nested dependencies
  • push validated snapshot commits to dev only, then create or refresh a devmain PR
  • append success, no-change, or failure reports to the configured Feishu document
  • when real repository files change, send one signed Feishu group card after the document report succeeds
  • show only changed repositories and files; omit unchanged repositories
  • synchronize the currently pending nested rpo_description snapshot update

Group notification format

  • blue card titled roboto_origin 子仓库快照有更新
  • Beijing time, changed repository count, file totals, and add/delete totals
  • per-repository upstream commit range, changed files, and line statistics
  • one 前往飞书文档 button; no PR or Actions links are exposed to group recipients
  • no group notification for no-change or failed synchronization runs

Safety boundaries

  • the only workflow push target is refs/heads/dev; there is no direct main push or automatic merge
  • pushes are non-forced and guarded by the previously observed remote dev SHA
  • unknown .gitmodules entries, unknown gitlinks, ordinary conflicts, out-of-scope paths, or oversized deletions fail before push
  • upstream code is imported but never executed
  • Feishu document and group credentials are isolated to separate reporting jobs
  • the custom-bot webhook is restricted to the expected Feishu v2 endpoint and requests use signature validation
  • Actions are pinned to full commit SHAs

Validation

  • Python compilation and YAML parsing passed
  • group-card signature, webhook validation, document URL validation, no-change skip, secret isolation, and payload-size fallback passed
  • all 23 allowlisted repositories match the current .gitmodules declarations
  • a real local snapshot run succeeded and updated 5 source histories; the final tree changed only 2 nested rpo_description files (314 insertions)
  • a second run reported all 23 repositories unchanged and created no commit
  • no gitlinks, unresolved paths, or changes outside modules/ remain

Activation note

GitHub only registers a new workflow_dispatch workflow after it exists on the default branch. After this PR is reviewed and merged with Create a merge commit, the workflow can be manually dispatched from Actions; scheduled runs occur daily at 09:10 Asia/Shanghai.

Maple127667 and others added 23 commits July 30, 2026 13:57
Add CERN-OHL-W-2.0 license for RPO description assets
Add CERN-OHL-W-2.0 license for RPO appearance assets
Clarify GPLv3 and upstream Apache-2.0 licensing
… changes from aa332a3..37aac9c

37aac9c Merge pull request #3 from Roboparty/codex/license-audit-20260812
c09ba3a Document CERN-OHL-W-2.0 license
67573ec Merge pull request #2 from Roboparty/dev
ac66721 Add open hardware license

git-subtree-dir: modules/roboparty_train/robolab/data/robots/roboparty/rpo
git-subtree-split: 37aac9c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants