name: Build AGENTS

on:
  push:
    paths:
      - AGENTS-source.adoc
      - docs/attributes.adoc
      - docs/gesinn-it-docs-master-pub
      - docs/gesinn-it-docs-master-pub/**
    branches:
      - '**'
  workflow_dispatch:

jobs:

  build:
    timeout-minutes: 10
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          submodules: 'true'

      - name: Install tools
        run: |
          sudo apt-get update
          sudo apt-get install -y asciidoctor pandoc
          sudo gem install asciidoctor-reducer --pre

      - name: Reduce AGENTS source (flatten includes)
        run: asciidoctor-reducer -o AGENTS.adoc AGENTS-source.adoc

      - name: Convert AsciiDoc to DocBook
        run: asciidoctor -b docbook5 -o AGENTS.xml AGENTS.adoc

      - name: Convert DocBook to Markdown
        run: pandoc -f docbook -t gfm AGENTS.xml -o AGENTS.md

      - name: Add autogenerated header (AGENTS)
        run: |
          printf "<!-- THIS FILE IS AUTO-GENERATED. Edit AGENTS-source.adoc instead. -->\n\n" | \
          cat - AGENTS.md > tmp
          mv tmp AGENTS.md

      - name: Remove intermediate files
        run: rm -f AGENTS.adoc AGENTS.xml

      - name: Commit generated files
        uses: EndBug/add-and-commit@v8
        with:
          add: AGENTS.md
          pull: '--rebase --autostash'
          message: "docs(ci): update generated AGENTS.md [skip ci]"
