name: respec

# author: @MikeRalphson
# issue: https://github.com/OAI/OpenAPI-Specification/issues/1564

#
# This workflow updates the respec 'pretty' rendered versions of the spec 
# on the gh-pages branch when the corresponding markdown files change.
#

# run this manually from main
on:
  workflow_dispatch: {}

jobs:
  respec:
    if: github.ref == 'refs/heads/main'

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v5 # checkout main branch
      with:
        fetch-depth: 0

    - uses: actions/setup-node@v5 # setup Node.js
      with:
        node-version: '20.x'
    
    - name: Install dependencies
      run: npm ci

    - uses: actions/checkout@v5 # checkout gh-pages branch
      with:
        ref: gh-pages
        path: deploy

    - name: run main script
      run: scripts/md2html/build.sh

    - name: Create Pull Request
      uses: peter-evans/create-pull-request@v6
      with:
        token: ${{ secrets.GITHUB_TOKEN }}
        branch: update-respec-version
        base: gh-pages
        delete-branch: true
        path: deploy
        labels: Housekeeping
        reviewers: darrelmiller,webron,earth2marsh,lornajane,mikekistler,miqui,ralfhandl,handrews,karenetheridge
        title: Update ReSpec-rendered specification versions
        commit-message: Update ReSpec-rendered specification versions
        signoff: true
        body: |
          This pull request is automatically triggered by GitHub action `respec`.

          The `versions/*.md` files have changed, so the HTML files are automatically being regenerated.


