name: Auto Release

on:
  push:
    tags:
      - 'v*'
  workflow_dispatch:

permissions:
  contents: write

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Install Chromium and CJK fonts
        run: |
          sudo apt-get update
          sudo apt-get install -y chromium-browser fonts-noto-cjk fonts-noto-cjk-extra

      - name: Install mdpress (latest)
        run: |
          LATEST_TAG=$(curl -fsSL -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ github.token }}" https://api.github.com/repos/yeasy/mdpress/releases/latest | jq -r .tag_name)
          VERSION="${LATEST_TAG#v}"
          echo "Installing mdpress $VERSION"
          curl -fsSL "https://github.com/yeasy/mdPress/releases/download/$LATEST_TAG/mdpress_${VERSION}_linux_amd64.tar.gz" -o /tmp/mdpress.tar.gz
          tar xzf /tmp/mdpress.tar.gz -C /tmp mdpress
          sudo mv /tmp/mdpress /usr/local/bin/
          mdpress --version

      - name: Extract tag name
        id: tag
        run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT

      - name: Build PDF
        run: mdpress build --format pdf --output docker_practice-${{ steps.tag.outputs.TAG_NAME || 'latest' }}.pdf

      - name: Create Release with PDF
        if: startsWith(github.ref, 'refs/tags/')
        uses: softprops/action-gh-release@v3
        with:
          generate_release_notes: true
          files: docker_practice-${{ steps.tag.outputs.TAG_NAME }}.pdf

      - name: Upload PDF as artifact
        uses: actions/upload-artifact@v7
        with:
          name: docker_practice-pdf
          path: "docker_practice-*.pdf"
