Publish docs via GitHub Pages #50
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: Publish docs via GitHub Pages | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| # Only rebuild website when docs have changed | |
| - 'README.md' | |
| - 'CHANGES.md' | |
| - 'CONTRIBUTING.md' | |
| - 'docs/**' | |
| - '.github/workflows/deploy_mkdocs.yml' | |
| workflow_dispatch: # Allow manual triggering | |
| schedule: | |
| # Run daily at 6 AM UTC to check for updates in eoapi-k8s docs | |
| - cron: '0 6 * * *' | |
| jobs: | |
| build: | |
| name: Deploy docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout main | |
| uses: actions/checkout@v3 | |
| - name: Checkout eoapi-k8s docs | |
| uses: actions/checkout@v3 | |
| with: | |
| repository: developmentseed/eoapi-k8s | |
| path: eoapi-k8s-temp | |
| ref: main | |
| - name: Setup Kubernetes docs directory | |
| run: | | |
| mkdir -p docs/src/deployment/kubernetes | |
| if [ -f "eoapi-k8s-temp/docs/docs-config.json" ]; then | |
| echo "Using docs-config.json for structured documentation sync" | |
| find eoapi-k8s-temp/docs -name "*.md" -not -name "README.md" \ | |
| -exec cp {} docs/src/deployment/kubernetes/ \; | |
| ASSETS_DIR=$(grep -o '"assets_dir": *"[^"]*"' eoapi-k8s-temp/docs/docs-config.json | cut -d'"' -f4) | |
| if [ -n "$ASSETS_DIR" ] && [ -d "eoapi-k8s-temp/docs/$ASSETS_DIR" ]; then | |
| cp -r "eoapi-k8s-temp/docs/$ASSETS_DIR" docs/src/deployment/kubernetes/ | |
| fi | |
| find eoapi-k8s-temp/docs -name "*.svg" \ | |
| -exec cp {} docs/src/deployment/kubernetes/ \; | |
| else | |
| echo "Fallback: copying all documentation files" | |
| find eoapi-k8s-temp/docs -name "*.md" \ | |
| -exec cp {} docs/src/deployment/kubernetes/ \; | |
| if [ -d "eoapi-k8s-temp/docs/images" ]; then | |
| cp -r eoapi-k8s-temp/docs/images docs/src/deployment/kubernetes/ | |
| fi | |
| find eoapi-k8s-temp/docs -name "*.svg" \ | |
| -exec cp {} docs/src/deployment/kubernetes/ \; | |
| fi | |
| cat >> docs/src/deployment/kubernetes/index.md << EOF | |
| --- | |
| *Documentation last synchronized: $(date -u +"%Y-%m-%d %H:%M:%S UTC")* | |
| EOF | |
| rm -rf eoapi-k8s-temp | |
| - name: Set up Python 3.8 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: 3.8 | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r docs/requirements.txt | |
| - name: Deploy docs | |
| run: mkdocs gh-deploy --force -f docs/mkdocs.yml |