Adds `.gitea/workflows/sync-github-mirror.yml`. Push-driven from Gitea (source of truth) to github.com/recklessop/ai-workflow-course:
- Each sync = one snapshot commit on GitHub referencing the source Gitea SHA.
- **No force-push, no history rewrites**; GitHub grows a real history.
- Same filter as the initial push: `blog/`, `handoff.md`, `.claude/`, `.gitea/`, and generated junk are never copied (and never enter GitHub history).
- A Gitea push touching only excluded paths is a clean no-op.
Merging this PR will be the first real run of the workflow itself.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Push-driven from Gitea (the source of truth): on every push to main, render the
filtered tree (no blog/, handoff.md, .claude/, .gitea/, generated junk) into a
fresh clone of github.com/recklessop/ai-workflow-course and commit one snapshot
referencing the source SHA. No force-push, no history rewrites; GitHub history
grows one commit per sync. Pushes that touch only excluded paths are a no-op.
Needs the GH_MIRROR_TOKEN repo secret (already set), a GitHub PAT with `repo`
scope. Name avoids the reserved GITHUB_ prefix.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
claude
merged commit 9b6658563b into main2026-06-24 21:38:40 -04:00
claude
deleted branch feat/auto-sync-to-github-mirror2026-06-24 21:38:41 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Adds
.gitea/workflows/sync-github-mirror.yml. Push-driven from Gitea (source of truth) to github.com/recklessop/ai-workflow-course:blog/,handoff.md,.claude/,.gitea/, and generated junk are never copied (and never enter GitHub history).Merging this PR will be the first real run of the workflow itself.
🤖 Generated with Claude Code