50 lines
1.2 KiB
YAML
50 lines
1.2 KiB
YAML
|
name: Update API Documentation
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
paths:
|
||
|
- 'openapi.yaml' # Trigger when openapi.yaml changes
|
||
|
branches:
|
||
|
- main # or your default branch
|
||
|
|
||
|
jobs:
|
||
|
convert-and-push:
|
||
|
runs-on: ubuntu-latest
|
||
|
|
||
|
steps:
|
||
|
- name: Checkout repository
|
||
|
uses: actions/checkout@v3
|
||
|
|
||
|
- name: Checkout wiki
|
||
|
uses: actions/checkout@v3
|
||
|
with:
|
||
|
repository: ${{github.repository}}.wiki
|
||
|
path: wiki
|
||
|
|
||
|
- name: Setup Node.js
|
||
|
uses: actions/setup-node@v3
|
||
|
with:
|
||
|
node-version: '16'
|
||
|
|
||
|
- name: Install Widdershins
|
||
|
run: npm install -g widdershins
|
||
|
|
||
|
- name: Convert OpenAPI to Markdown
|
||
|
run: |
|
||
|
widdershins openapi.yaml -o wiki/api.md --omitHeader true
|
||
|
|
||
|
- name: Configure Git
|
||
|
run: |
|
||
|
cd wiki
|
||
|
git config --local user.email "action@github.com"
|
||
|
git config --local user.name "GitHub Action"
|
||
|
|
||
|
- name: Commit and push changes to wiki
|
||
|
run: |
|
||
|
cd wiki
|
||
|
git add api.md
|
||
|
git diff-index --quiet HEAD || git commit -m "Update API documentation"
|
||
|
git push
|
||
|
env:
|
||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|