name: Documentation

on:
  push:
    branches:
      - main

permissions:
  contents: read

jobs:

  changes:
    permissions:
      contents: read  # for dorny/paths-filter to fetch a list of changed files
      pull-requests: read  # for dorny/paths-filter to read pull requests
    runs-on: ubuntu-latest
    if: |
      (github.repository == 'kubernetes/ingress-nginx')
    outputs:
      docs: ${{ steps.filter.outputs.docs }}
      charts: ${{ steps.filter.outputs.charts }}

    steps:
      - name: Checkout
        uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0

      - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
        id: filter
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          filters: |
            docs:
             - 'docs/**/*'

  docs:
    name: Update
    runs-on: ubuntu-latest
    needs:
      - changes
    if: |
      (github.repository == 'kubernetes/ingress-nginx') &&
      (needs.changes.outputs.docs == 'true')

    permissions:
      contents: write # needed to write releases

    steps:
      - name: Checkout master
        uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0

      - name: Deploy
        uses: ./.github/actions/mkdocs
        env:
          PERSONAL_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
