# Automated Documentation Generation name: Generate Documentation on: schedule: - cron: '0 */6 * * *' # Every 6 hours workflow_dispatch: # Allow manual triggering env: POETRY_VERSION: 1.8.0 PYTHON_VERSION: "3.12" jobs: generate-docs: name: Generate Documentation runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: ${{ env.PYTHON_VERSION }} - name: Install Poetry run: | curl -sSL https://install.python-poetry.org | python3 - echo "$HOME/.local/bin" >> $GITHUB_PATH - name: Install dependencies run: | poetry config virtualenvs.in-project true poetry install - name: Generate documentation env: MCP_SERVER_URL: ${{ secrets.MCP_SERVER_URL }} LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }} LLM_API_KEY: ${{ secrets.LLM_API_KEY }} run: | poetry run datacenter-docs generate-all continue-on-error: true - name: Upload documentation artifacts uses: actions/upload-artifact@v4 with: name: documentation path: output/ retention-days: 30 - name: Commit and push if changed run: | git config --global user.name "Docs Bot" git config --global user.email "bot@company.local" git add output/ git diff --quiet && git diff --staged --quiet || (git commit -m "docs: Auto-generated documentation update [skip ci]" && git push) continue-on-error: true