name: 'Label Child Issues for Project Rollup' on: issues: types: ['opened', 'edited', 'reopened'] schedule: - cron: '0 * * * *' # Run every hour workflow_dispatch: permissions: issues: 'write' contents: 'read' jobs: # Event-based: Quick reaction to new/edited issues in THIS repo labeler: if: "github.repository == 'google-gemini/gemini-cli' && github.event_name == 'issues'" runs-on: 'ubuntu-latest' steps: - name: 'Checkout' 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: 'Run Multi-Repo Sync Script' env: GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' run: 'node .github/scripts/sync-maintainer-labels.cjs' # Scheduled/Manual: Recursive sync across multiple repos sync-maintainer-labels: if: "github.repository == 'google-gemini/gemini-cli' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')" runs-on: 'ubuntu-latest' steps: - name: 'Checkout' 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: 'Run Multi-Repo Sync Script' env: GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' run: 'node .github/scripts/sync-maintainer-labels.cjs'