Sync descriptions and issues, run workflows nightly

mirror.js now keeps repo descriptions in step with GitHub. A new
sync-issues workflow copies issues, PR conversations and comments onto
the mirrors with GitHub's numbering. Shared API helpers move to
gitea-mirrors.js. Every workflow now runs once a night, 1.5 hours apart.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-29 17:37:50 +00:00
co-authored by Claude Opus 5.5
parent 43a054153c
commit 474b475f18
9 changed files with 289 additions and 80 deletions
+10
View File
@@ -10,6 +10,7 @@ const labels = {
['org visibility change', 'orgVisibilityChanged'],
['new mirror', 'mirrorsCreated'],
['repo visibility change', 'repoVisibilityChanged'],
['description update', 'descriptionsUpdated'],
['failure', 'failures']
]],
rename: ['Missing-mirror check', 'rename-facts.json', [
@@ -27,6 +28,15 @@ const labels = {
['uploaded asset', 'assetsUploaded'],
['unsynced tag', 'unsyncedTags'],
['failure', 'failures']
]],
issues: ['Issue sync', 'issue-facts.json', [
['mirror', 'mirrorsChecked'],
['GitHub issue', 'issuesFound'],
['created issue', 'created'],
['updated issue', 'updated'],
['created comment', 'commentsCreated'],
['updated comment', 'commentsUpdated'],
['failure', 'failures']
]]
};
const md = text => String(text).replace(/[\\`*_[\]#]/g, '\\$&');