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@34e114876b0b11c390a56381ad16ebd13914f8d5' # ratchet:actions/checkout@v4 - name: 'Setup Node.js' uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' # ratchet: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@34e114876b0b11c390a56381ad16ebd13914f8d5' # ratchet:actions/checkout@v4 - name: 'Setup Node.js' uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' # ratchet: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'