name: 自动生成README.md文件

on:
  push:
    branches:
      - main

jobs:
  create-readme:
    runs-on: ubuntu-latest

    if: "!contains(github.event.head_commit.message, 'AutoGenerateREADME.md')"
    
    steps:
      - name: 删除本地仓库副本
        env:
          REPO_NAME: ${{ github.event.repository.name }}
        run: |
          if [ -d "$REPO_NAME" ]; then
            rm -rf "$REPO_NAME"
          fi

      - name: 检出仓库
        env:
          GITEA_TOKEN: ${{ secrets.AUTOGENERATE }}
          GITEA_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
          CLEAN_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
        run: |
          CLEAN_REPO_URL="${CLEAN_REPO_URL#https://}"
          git clone "https://${GITEA_TOKEN}@${CLEAN_REPO_URL}" .

      - name: 创建README.md
        run: |
          if [ -f README.md ]; then
            rm README.md
          fi

      - name: 添加项目标题到README.md文件
        run: |
          echo "# ActionDemo测试文档标题" > README.md

      - name : 获取提交记录到README.md文件
        run: |
          # 获取提交记录并追加到 README.md
          git log --pretty=format:"- %h %ad %s" --date=short >> README.md

      - name: 添加版本发布标签部分
        run: |
          echo "### Release - 版本发布的标签地址链接" >> README.md
          git log --pretty=format:"- %h %ad %s" --date=short >> README.md

      - name: 重新提交仓库
        env:
          GITEA_TOKEN: ${{ secrets.AUTOGENERATE }}
          GITEA_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
          CLEAN_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
        run: |
          CLEAN_REPO_URL="${CLEAN_REPO_URL#https://}"
          git config --local user.email "liyepan@linuxacme.com"
          git config --local user.name "iorebuild"
          git add README.md
          if git diff --staged --quiet; then
            echo "No changes to commit."
          else
            git commit -m "AutoGenerateREADME.md"
            git push "https://${GITEA_TOKEN}@${CLEAN_REPO_URL}"
          fi