# .github/workflows/enforce-release-review.yml
# Version: 1.1.0
# Description: Validates CHANGELOG.md and blog edits on PRs and tag pushes. Emits status badge.
# Author: Ali Kahwaji

name: 🛡 Release Review Passed

on:
  pull_request:
    branches: [main]
  push:
    tags:
      - 'v*.*.*'
  workflow_dispatch:

permissions:
  contents: read
  pull-requests: write

jobs:
  review:
    name: 📝 Release Review Check
    runs-on: ubuntu-latest

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

      - name: 🔍 Scan for changelog or blog edits
        id: check
        run: |
          git fetch origin main --depth=1
          CHANGED_FILES=$(git diff --name-only origin/main...HEAD || true)

          echo "Changed files:"
          echo "$CHANGED_FILES"

          if echo "$CHANGED_FILES" | grep -qE 'CHANGELOG\.md|docs-site/blog/'; then
            echo "✅ Changelog or blog post updated."
            echo "result=pass" >> "$GITHUB_OUTPUT"
          else
            echo "❌ No changelog or blog edits found."
            echo "result=fail" >> "$GITHUB_OUTPUT"
          fi

      - name: 🚫 Fail if missing changelog or blog
        if: steps.check.outputs.result == 'fail'
        run: |
          echo "Missing required changelog or blog post for release."
          exit 1
