apexe 0.3.0

Outside-In CLI-to-Agent Bridge
name: Deploy Documentation

on:
  push:
    branches:
      - main
    paths:
      - "docs/**"
      - "mkdocs.yml"
      - "README.md"
      - "CHANGELOG.md"
      - "examples/**"
      - "apexe-logo.svg"
      - ".github/workflows/deploy-docs.yml"

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

      - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
        with:
          python-version: "3.x"

      - run: pip install mkdocs-material

      - name: Prepare docs for MkDocs
        run: |
          # Copy README as index page
          cp README.md docs/index.md

          # Copy CHANGELOG into docs/
          cp CHANGELOG.md docs/changelog.md

          # Copy examples README into docs/
          cp examples/README.md docs/examples.md

          # Copy logo into docs assets
          mkdir -p docs/assets
          cp apexe-logo.svg docs/assets/

          # Fix links in index.md: docs/X → X (since we're now inside docs/)
          sed -i 's|\./docs/|./|g' docs/index.md
          sed -i 's|(docs/|(|g' docs/index.md

          # Fix logo reference in index.md (both local and GitHub raw URL)
          sed -i 's|\./apexe-logo\.svg|./assets/apexe-logo.svg|g' docs/index.md
          sed -i 's|https://raw.githubusercontent.com/aiperceivable/apexe/main/apexe-logo.svg|./assets/apexe-logo.svg|g' docs/index.md

          # Fix examples link in index.md
          sed -i 's|(examples/README.md)|(examples.md)|g' docs/index.md
          sed -i 's|(examples/basic/)|(https://github.com/aiperceivable/apexe/tree/main/examples/basic)|g' docs/index.md
          sed -i 's|(examples/programmatic.rs)|(https://github.com/aiperceivable/apexe/blob/main/examples/programmatic.rs)|g' docs/index.md

          # Fix CHANGELOG link in index.md
          sed -i 's|(CHANGELOG.md)|(changelog.md)|g' docs/index.md

      - run: mkdocs build

      - uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
        with:
          path: site

  deploy:
    needs: build
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - id: deployment
        uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0