Adding docs (#5) #6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: docs | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths: | |
| - 'docs/**' | |
| - 'backend/docs/**' | |
| - 'files_for_readme/ARCHITECTURE_IN_DETAILS.md' | |
| - 'backend/tests/load/README.md' | |
| - 'mkdocs.yml' | |
| - '.github/workflows/docs.yml' | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - 'docs/**' | |
| - 'backend/docs/**' | |
| - 'files_for_readme/ARCHITECTURE_IN_DETAILS.md' | |
| - 'backend/tests/load/README.md' | |
| - 'mkdocs.yml' | |
| - '.github/workflows/docs.yml' | |
| workflow_dispatch: # Allow manual trigger | |
| permissions: | |
| contents: write | |
| pages: write | |
| id-token: write | |
| # Allow only one concurrent deployment | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Full history for git info | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Cache pip dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| key: mkdocs-${{ hashFiles('mkdocs.yml') }} | |
| path: ~/.cache/pip | |
| restore-keys: | | |
| mkdocs- | |
| - name: Install MkDocs and dependencies | |
| run: | | |
| pip install --upgrade pip | |
| pip install \ | |
| mkdocs-material \ | |
| mkdocs-mermaid2-plugin \ | |
| pymdown-extensions | |
| - name: Prepare documentation structure | |
| run: | | |
| # Create directory structure for docs | |
| mkdir -p docs/architecture | |
| mkdir -p docs/reference | |
| mkdir -p docs/components/sse | |
| mkdir -p docs/components/workers | |
| mkdir -p docs/operations | |
| mkdir -p docs/security | |
| mkdir -p docs/testing | |
| mkdir -p docs/stylesheets | |
| mkdir -p docs/assets/images | |
| # Copy images and assets | |
| cp files_for_readme/*.png docs/architecture/ | |
| cp files_for_readme/*.svg docs/architecture/ 2>/dev/null || true | |
| cp files_for_readme/logo.png docs/assets/images/ | |
| # Copy architecture docs | |
| cp files_for_readme/ARCHITECTURE_IN_DETAILS.md docs/architecture/overview.md | |
| cp backend/docs/services-overview.md docs/architecture/ | |
| cp backend/docs/kafka-topic-architecture.md docs/architecture/ | |
| cp backend/docs/lifecycle.md docs/architecture/ | |
| # Copy API reference | |
| cp backend/docs/api-reference.md docs/reference/ | |
| # Copy component docs - services overview | |
| cp backend/docs/services-overview.md docs/components/ | |
| # Copy SSE docs | |
| cp backend/docs/sse-partitioned-architecture.md docs/components/sse/ | |
| cp backend/docs/execution-sse-flow.md docs/components/sse/ | |
| cp backend/docs/workers/sse-architecture.md docs/components/sse/ | |
| # Copy worker docs | |
| cp backend/docs/workers/pod_monitor.md docs/components/workers/ | |
| cp backend/docs/workers/result_processor.md docs/components/workers/ | |
| # Copy other component docs | |
| cp backend/docs/dead-letter-queue.md docs/components/ | |
| cp backend/docs/schema-manager.md docs/components/ | |
| # Copy operations docs | |
| cp backend/docs/tracing.md docs/operations/ | |
| cp backend/docs/metrics-contextvars.md docs/operations/ | |
| cp backend/docs/cpu-time-measurement.md docs/operations/ | |
| cp backend/docs/notification-types.md docs/operations/ | |
| cp backend/docs/troubleshooting-result-processor-di-crash.md docs/operations/ | |
| # Copy security docs | |
| cp backend/docs/security/policies.md docs/security/ | |
| # Copy testing docs | |
| cp backend/tests/load/README.md docs/testing/load-testing.md | |
| # Create minimal extra.css if not exists | |
| if [ ! -f docs/stylesheets/extra.css ]; then | |
| echo "/* Custom styles for Integr8sCode docs */" > docs/stylesheets/extra.css | |
| fi | |
| - name: Build documentation | |
| run: mkdocs build --strict | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: site/ | |
| deploy: | |
| # Only deploy on push to main (not PRs) | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |