update-docs-parity.yml
1 name: Update Documentation Parity Tracker 2 3 on: 4 push: 5 branches: [ "main" ] 6 paths: 7 - 'src/praisonai-agents/praisonaiagents/**/*.py' 8 - 'src/praisonai-ts/src/**/*.ts' 9 - 'src/praisonai-rust/src/**/*.rs' 10 - 'src/praisonai/praisonai/_dev/parity/**/*.py' 11 - '.github/workflows/update-docs-parity.yml' 12 workflow_dispatch: # Allow manual trigger 13 14 permissions: 15 contents: write 16 17 jobs: 18 update-docs-parity: 19 runs-on: ubuntu-latest 20 21 steps: 22 - name: Checkout repository 23 uses: actions/checkout@v4 24 with: 25 ref: main 26 persist-credentials: true 27 fetch-depth: 0 28 29 - name: Checkout PraisonAIDocs 30 id: checkout_docs 31 continue-on-error: true 32 uses: actions/checkout@v4 33 with: 34 repository: MervinPraison/PraisonAIDocs 35 path: PraisonAIDocs 36 token: ${{ secrets.SECRETS_ADMIN_PAT }} 37 38 - name: Set up Python 39 uses: actions/setup-python@v5 40 with: 41 python-version: '3.11' 42 43 - name: Install dependencies 44 run: | 45 pip install pyyaml 46 47 - name: Generate docs parity trackers 48 if: steps.checkout_docs.outcome == 'success' 49 run: | 50 cd $GITHUB_WORKSPACE 51 python3 src/praisonai/scripts/generate_docs_parity.py --docs-root PraisonAIDocs/docs --copy-docs 52 53 - name: Check for changes 54 id: check_changes 55 run: | 56 if git diff --quiet src/praisonai-agents/DOCS_PARITY.md src/praisonai-ts/DOCS_PARITY.md src/praisonai-rust/DOCS_PARITY.md 2>/dev/null; then 57 echo "changes=false" >> $GITHUB_OUTPUT 58 echo "No changes to docs parity trackers" 59 else 60 echo "changes=true" >> $GITHUB_OUTPUT 61 echo "Docs parity trackers have been updated" 62 git diff --stat src/praisonai-agents/DOCS_PARITY.md src/praisonai-ts/DOCS_PARITY.md src/praisonai-rust/DOCS_PARITY.md 63 fi 64 65 - name: Commit and push changes to praisonai-package 66 if: steps.check_changes.outputs.changes == 'true' 67 uses: stefanzweifel/git-auto-commit-action@v5 68 with: 69 commit_message: "docs: auto-update documentation parity trackers [skip ci]" 70 file_pattern: 'src/praisonai-agents/DOCS_PARITY.md src/praisonai-ts/DOCS_PARITY.md src/praisonai-rust/DOCS_PARITY.md' 71 commit_user_name: "MervinPraison" 72 commit_user_email: "454862+MervinPraison@users.noreply.github.com" 73 commit_author: "MervinPraison <454862+MervinPraison@users.noreply.github.com>" 74 75 - name: Commit and push changes to PraisonAIDocs 76 if: steps.check_changes.outputs.changes == 'true' && steps.checkout_docs.outcome == 'success' 77 run: | 78 cd PraisonAIDocs 79 git config user.name "MervinPraison" 80 git config user.email "454862+MervinPraison@users.noreply.github.com" 81 git add docs/features/DOCS_PARITY.md docs/js/DOCS_PARITY.md docs/rust/DOCS_PARITY.md 82 git diff --staged --quiet || git commit -m "docs: auto-update documentation parity trackers [skip ci]" 83 git push