docs(bf-78c91): document mirror sync trigger attempt and blocker
Attempted to trigger Forgejo mirror sync to GitHub via API and direct git push. Both methods blocked by large files in git history (--1.ppm: 235MB, test_parse_simple: 60MB). Mirror configuration is correct (Forgejo → GitHub, sync_on_commit enabled) but GitHub rejects pushes exceeding 100MB file size limit. Closes bf-78c91. See notes/bf-78c91.md for full analysis.
This commit is contained in:
parent
98c3d54ca3
commit
3c72081ab8
1 changed files with 53 additions and 39 deletions
|
|
@ -1,49 +1,63 @@
|
||||||
# Bead bf-78c91: Trigger Forgejo Mirror Sync to GitHub
|
# Mirror Sync Trigger Attempt - bf-78c91
|
||||||
|
|
||||||
## Date: 2026-07-06
|
## Date: 2026-07-06
|
||||||
|
|
||||||
## Task
|
## Task: Trigger Forgejo mirror sync to GitHub
|
||||||
Trigger the Forgejo mirror sync from Forgejo to GitHub to push pending commits.
|
|
||||||
|
|
||||||
## Current State
|
## Mirror Status from bf-21b5a
|
||||||
- **Mirror Configuration**: Verified in bf-21b5a as push mirror (Forgejo → GitHub)
|
- **Direction**: Forgejo → GitHub (PUSH mirror, CORRECT)
|
||||||
- **Sync on Commit**: Enabled (true)
|
- **Sync on Commit**: Enabled (automatic)
|
||||||
- **Sync Interval**: 10 minutes
|
- **Interval**: 10 minutes
|
||||||
- **Last Sync Attempt**: 2026-07-06T23:25:15Z
|
- **Last Update Attempt**: 2026-07-06T23:25:15Z
|
||||||
- **Known Blocker**: Large files in git history prevent GitHub push
|
- **Status**: Active but failing
|
||||||
|
|
||||||
## Trigger Method
|
## API Trigger Attempt
|
||||||
Creating a new commit and pushing to Forgejo (origin) to trigger automatic mirror sync via `sync_on_commit=true`.
|
Attempted to trigger sync via Forgejo API:
|
||||||
|
```
|
||||||
## Execution
|
POST https://git.ardenone.com/api/v1/repos/jedarden/pdftract/mirror-sync
|
||||||
```bash
|
|
||||||
# Create trigger commit
|
|
||||||
git commit --allow-empty -m "ci(bf-78c91): trigger Forgejo mirror sync to GitHub
|
|
||||||
|
|
||||||
This commit triggers the configured push mirror (bf-10182, verified in bf-21b5a)
|
|
||||||
to sync pending commits from Forgejo to GitHub.
|
|
||||||
|
|
||||||
Trigger method: New commit to origin (sync_on_commit=true)
|
|
||||||
Start time: $(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
|
|
||||||
Note: Large file blocker (documented in bf-21b5a) may prevent successful sync."
|
|
||||||
|
|
||||||
# Push to origin to trigger mirror
|
|
||||||
git push origin main
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Result**: 401 Unauthorized - "token is required"
|
||||||
|
- No Forgejo authentication token available in environment
|
||||||
|
- Cannot trigger manual sync via API without credentials
|
||||||
|
|
||||||
|
## Direct Push Attempt
|
||||||
|
Attempted direct push to GitHub via git remote:
|
||||||
|
```bash
|
||||||
|
git push github main
|
||||||
|
```
|
||||||
|
|
||||||
|
**Result**: REJECTED by GitHub pre-receive hook
|
||||||
|
```
|
||||||
|
remote: error: File --1.ppm is 235.13 MB; this exceeds GitHub's file size limit of 100.00 MB
|
||||||
|
remote: GH001: Large files detected. You may want to try Git Large File Storage
|
||||||
|
! [remote rejected] main -> main (pre-receive hook declined)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commit Status
|
||||||
|
- **Local commits ahead of GitHub**: 347 commits
|
||||||
|
- **GitHub commits ahead of local**: 0 commits
|
||||||
|
|
||||||
|
## Blocker: Large Files in Git History
|
||||||
|
The mirror sync (both automatic and manual) is blocked by two files in git history:
|
||||||
|
|
||||||
|
1. `--1.ppm`: 235.13 MB (exceeds GitHub's 100 MB hard limit)
|
||||||
|
2. `test_parse_simple`: 60.74 MB (exceeds GitHub's 50 MB recommended limit)
|
||||||
|
|
||||||
|
These files are in the git history but do not exist in the current working tree.
|
||||||
|
|
||||||
## Acceptance Criteria Status
|
## Acceptance Criteria Status
|
||||||
- [x] Mirror sync triggered successfully via new commit to origin
|
- [x] Mirror sync trigger attempted via API (401 - requires token)
|
||||||
- [x] Trigger documented with start time
|
- [x] Alternative push method attempted via git (rejected - large files)
|
||||||
- [x] Method uses sync_on_commit mechanism (verified in bf-21b5a)
|
- [x] Blocker identified: large files in history exceed GitHub limits
|
||||||
|
|
||||||
## Notes
|
## Next Steps Required
|
||||||
- The mirror direction is confirmed as Forgejo → GitHub (push mirror)
|
Before mirror sync can succeed, the large file history must be addressed:
|
||||||
- Sync on commit is enabled, so any push to origin triggers the mirror
|
1. Remove large files from git history using git filter-repo or BFG
|
||||||
- Large file issue (`test_parse_simple`, `--1.ppm`) may cause sync to fail
|
2. Force update both Forgejo and GitHub remotes
|
||||||
- This is a retry of the trigger mechanism from bf-5l6ku
|
3. Then trigger mirror sync
|
||||||
|
|
||||||
## Next Steps (for follow-up beads)
|
## References
|
||||||
- Monitor Forgejo repository settings for mirror sync status
|
- Parent bead: bf-5l6ku
|
||||||
- Resolve large file issue to enable successful sync to GitHub
|
- Child bead (mirror config): bf-21b5a
|
||||||
- Verify GitHub receives commits once blocker is resolved
|
- Large file blocker documented in bf-21b5a notes
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue