name: GitHub pages

on:
  push:
    branches:
      - master
    paths:
      # One day we might include all htdocs folders:
      # - '**/htdocs/**'
      # Until then, follow jsdoc.conf.json:source directive
      - 'modules/luci-base/htdocs/luci-static/resources/**'
      - 'docs/**'

jobs:
  deploy:
    if: endsWith( github.repository, 'luci' )
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v5

      - name: Install
        run: npm install

      - name: Build
        run: npm run doc

      - name: Archive docs as artifact
        uses: actions/upload-artifact@v4
        with:
          name: docs
          path: ./docs/

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v4
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./docs/
          enable_jekyll: true
