# .github/workflows/generate-blog-post.yml
# Version: 1.1.0
# Description: Auto-generates blog posts from release tags using generate-release-note.js
# Author: Ali Kahwaji

name: "📝 Auto Generate Blog Post"

on:
  release:
    types: [published]
  push:
    tags:
      - 'v*.*.*'

permissions:
  contents: write

jobs:
  blog:
    name: Generate Release Blog
    runs-on: ubuntu-latest

    steps:
      - name: ⬇️ Checkout code
        uses: actions/checkout@v4

      - name: 🛠 Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: 📦 Install dependencies
        run: npm ci

      - name: 📝 Generate blog post from tag
        run: node scripts/generate-release-note.js ${{ github.ref_name }} <previous-tag>
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: 📋 Commit blog post
        uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: "docs(blog): auto-generate post for release ${{ github.ref_name }}"
          file_pattern: "docs-site/blog/*.md"
