# Example workflow showing Grid Review action usage
# Copy this to your repository and customize as needed

name: Grid Review

on:
  pull_request:
    types: [opened, synchronize, reopened]

permissions:
  contents: read
  pull-requests: write
  security-events: write  # Required for SARIF upload

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0  # Full history needed for diff

      - name: Grid Review
        id: review
        uses: ./action
        with:
          anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
          review-type: full
          model-tier: balanced
          output-format: markdown
          fail-on: error

      - name: Review Summary
        if: always()
        run: |
          echo "============================================"
          echo "           GRID REVIEW SUMMARY             "
          echo "============================================"
          echo ""
          echo "Status:          ${{ steps.review.outputs.status }}"
          echo "Issues Found:    ${{ steps.review.outputs.issues-count }}"
          echo "Security Issues: ${{ steps.review.outputs.security-issues }}"
          echo "Report Path:     ${{ steps.review.outputs.report-path }}"
          echo ""
          echo "============================================"

      - name: Upload Review Artifact
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: grid-review-report
          path: .grid-review/
          retention-days: 30

  # Optional: Security-focused review job
  security-review:
    runs-on: ubuntu-latest
    if: contains(github.event.pull_request.labels.*.name, 'security')
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Security-Focused Grid Review
        uses: ./action
        with:
          anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
          review-type: security
          model-tier: quality
          output-format: sarif
          fail-on: warning
