name: Generate Antora Files and Request Build

on:
  workflow_dispatch:
  push:
    branches-ignore:
      - 'gh-pages'
    tags: '**'

env:
  GH_ACTIONS_REPO_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    if: ${{ github.repository == 'spring-projects/spring-security' }}
    steps:
      - name: Checkout Source
        uses: actions/checkout@v2
      - name: Set up gradle
        uses: spring-io/spring-gradle-build-action@v1
        with:
          java-version: '17'
          distribution: 'temurin'
      - name: Generate antora.yml
        run: ./gradlew :spring-security-docs:generateAntora
      - name: Extract Branch Name
        id: extract_branch_name
        run: echo "##[set-output name=generated_branch_name;]$(echo ${GITHUB_REPOSITORY}/${GITHUB_REF##*/})"
      - name: Push generated antora files to the spring-generated-docs
        uses: JamesIves/github-pages-deploy-action@4.1.4
        with:
          branch:  ${{ steps.extract_branch_name.outputs.generated_branch_name }} # The branch the action should deploy to.
          folder: "docs/build/generateAntora" # The folder the action should deploy.
          repository-name: "spring-io/spring-generated-docs"
          token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
      - name: Dispatch Build Request
        run: ${GITHUB_WORKSPACE}/.github/actions/dispatch.sh 'spring-projects/spring-security' "$GH_ACTIONS_REPO_TOKEN"
