name: 🚀 Roadmap Sync (Labels + Issues)

on:
  push:
    branches: [main]
    paths:
      - '.github/roadmap-labels.yml'
      - '.github/PROJECT_ROADMAP.md'
      - 'scripts/create-roadmap-issues.js'
      - 'scripts/ensure-roadmap-labels.js'

  workflow_dispatch:

permissions:
  issues: write
  contents: read

jobs:
  roadmap-sync:
    name: 🔁 Sync Labels + Issues from Roadmap
    runs-on: ubuntu-latest

    steps:
      - name: 📥 Checkout repository
        uses: actions/checkout@v4

      - name: 🛠 Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'

      - name: 📦 Install dependencies
        run: npm ci

      - name: 🔖 Sync GitHub labels from roadmap-labels.yml
        run: node scripts/ensure-roadmap-labels.js
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: 📝 Create or update roadmap issues
        run: node scripts/create-roadmap-issues.js
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
