| name: Manual Trinity Debugger | |
| on: | |
| workflow_dispatch: # မင်းကိုယ်တိုင် ခလုတ်နှိပ်မှ Run မယ် | |
| schedule: | |
| # ၆ နာရီခြား တစ်ခါ (တစ်နေ့ ၄ ကြိမ်) အလိုအလျောက် Sync လုပ်ပေးမယ် | |
| # ဒါက GitHub Free Minutes ကို အလွန်အကျွံ မကုန်စေဘဲ Phase 3 ကို Live ဖြစ်စေပါတယ် | |
| - cron: '0 */6 * * *' | |
| # 🛠 အရေးကြီးဆုံးအပိုင်း - GitHub ကို ဖိုင်တွေ ရေးခွင့် (Write Permission) ပေးလိုက်တာပါ | |
| permissions: | |
| contents: write | |
| pages: write | |
| id-token: write | |
| # တစ်ပြိုင်တည်း Workflow တွေ အများကြီးတက်ပြီး Limit မကျော်အောင် ထိန်းပေးတဲ့ အပိုင်း | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| debug_sync: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Install Dependencies | |
| run: npm install pg @supabase/supabase-js firebase-admin | |
| - name: Force Sync Neon to Supabase | |
| env: | |
| # Database & Firebase Keys | |
| NEON_KEY: ${{ secrets.NEON_KEY }} | |
| SUPABASE_URL: ${{ secrets.SUPABASE_URL }} | |
| SUPABASE_SERVICE_ROLE_KEY: ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }} | |
| FIREBASE_KEY: ${{ secrets.FIREBASE_KEY }} | |
| # GitHub Authentication (PAT သို့မဟုတ် GITHUB_TOKEN) | |
| # 'GH_TOKEN' နဲ့ 'GITHUB_TOKEN' နှစ်မျိုးလုံးကို delta_sync.js က ခေါ်သုံးနိုင်အောင် ထည့်ပေးထားပါတယ် | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: node delta_sync.js | |