MQL5-Google-Onedrive/QUICK_SYNC_SETUP.md
copilot-swe-agent[bot] 24ab6626c3 Add quick setup guide for repository sync
Co-authored-by: Mouy-leng <199350297+Mouy-leng@users.noreply.github.com>
2026-02-17 11:00:23 +00:00

3.3 KiB

Quick Configuration Guide for Repository Sync

This guide provides quick setup instructions for enabling repository synchronization between A6-9V/MQL5-Google-Onedrive and L6-N9.

Quick Start (5 Minutes)

Step 1: Generate GitHub Token

  1. Go to https://github.com/settings/tokens
  2. Click "Generate new token (classic)"
  3. Name it: Repo Sync Token
  4. Select scope: repo (Full control of private repositories)
  5. Click "Generate token"
  6. Copy the token (starts with ghp_)

Step 2: Add to GitHub Secrets

# Using GitHub CLI (recommended)
gh secret set REPO_SYNC_TOKEN --body "ghp_YOUR_TOKEN_HERE"

# Or via Web UI:
# Settings → Secrets and variables → Actions → New repository secret

Step 3: Test the Sync

  1. Go to Actions tab in your repository
  2. Click Repository Sync with L6-N9
  3. Click Run workflow
  4. Select push direction
  5. Click Run workflow
  6. Watch the logs to verify success

Optional: REST API Integration

If you have a REST API endpoint that should receive sync notifications:

# Set API credentials
gh secret set REST_API_KEY --body "your_api_key_here"
gh secret set REST_API_URL --body "https://api.example.com/sync"

Optional: Custom Configuration

To change the target repository or branch:

# Custom repository (default: A6-9V/L6-N9)
gh secret set L6_N9_REPO --body "YourOrg/YourRepo"

# Custom branch (default: main)
gh secret set L6_N9_SYNC_BRANCH --body "develop"

Testing Locally

Test the sync manager on your local machine:

# 1. Create .env file
cp .env.example .env

# 2. Edit .env and add your token
nano .env  # or use your preferred editor

# Add this line:
# REPO_SYNC_TOKEN=ghp_YOUR_TOKEN_HERE

# 3. Check configuration
python3 scripts/repo_sync_manager.py --check-config

# 4. Run a test sync (requires token and repo access)
# python3 scripts/repo_sync_manager.py --direction push

Automatic Syncing

Once configured, syncing happens automatically:

  • Every 6 hours (scheduled)
  • On push to main (automatic)
  • Manual trigger (via Actions UI)

What Gets Synced

The sync copies these items to L6-N9:

  • 📁 mt5/MQL5/ - Indicators and Expert Advisors
  • 📁 scripts/ - Automation scripts
  • 📁 config/ - Configuration files
  • 📁 docs/ - Documentation
  • 📄 README.md, requirements.txt, .env.example

Troubleshooting

"REPO_SYNC_TOKEN not configured"

Fix: Add the token to GitHub Secrets (see Step 2)

"Repository not found"

Fix: Ensure the token has access to the L6-N9 repository

"403 Forbidden"

Fix: Verify the token has repo scope

⚠️ REST API notification failed

Note: This is non-critical. Sync will continue even if API notification fails.

Need More Help?

Verification

After setup, verify the sync is working:

  1. Make a small change in your repository
  2. Commit and push to main branch
  3. Check Actions tab - sync should trigger automatically
  4. Verify changes appear in L6-N9 repository

Security Reminders

  • 🔒 Never commit tokens to git
  • 🔒 Store tokens in GitHub Secrets
  • 🔒 Rotate tokens every 60-90 days
  • 🔒 Use minimal required permissions

Ready to sync? Start with Step 1 above! 🚀