name: ADK Answering Agent for Discussions

on:
  discussion:
    types: [created]
  discussion_comment:
    types: [created]

jobs:
  agent-answer-questions:
    if: >-
      (github.event_name == 'discussion' && github.event.discussion.category.name == 'Q&A') ||
      (github.event_name == 'discussion_comment' && contains(github.event.comment.body, '@adk-bot') && github.event.sender.login != 'adk-bot')
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: '3.11'

      - name: Authenticate to Google Cloud
        id: auth
        uses: 'google-github-actions/auth@v3'
        with:
          credentials_json: '${{ secrets.ADK_GCP_SA_KEY }}'

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install google-adk google-cloud-discoveryengine

      - name: Run Answering Script
        env:
          GITHUB_TOKEN: ${{ secrets.ADK_TRIAGE_AGENT }}
          ADK_GCP_SA_KEY: ${{ secrets.ADK_GCP_SA_KEY }}
          GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
          GOOGLE_CLOUD_LOCATION: ${{ secrets.GOOGLE_CLOUD_LOCATION }}
          VERTEXAI_DATASTORE_ID: ${{ secrets.VERTEXAI_DATASTORE_ID }}
          GEMINI_API_DATASTORE_ID: ${{ secrets.GEMINI_API_DATASTORE_ID }}
          GOOGLE_GENAI_USE_VERTEXAI: 1
          OWNER: 'google'
          REPO: 'adk-python'
          INTERACTIVE: 0
          PYTHONPATH: contributing/samples
        run: |
          # Write discussion data to temporary file to avoid secret masking issues
          cat > /tmp/discussion.json << 'EOF'
          ${{ toJson(github.event.discussion) }}
          EOF
          python -m adk_answering_agent.main --discussion-file /tmp/discussion.json
