Repository navigation
Publish Fullbleed support page with pending sponsorship status #51
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: Documentation | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: docs-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| cache: pip | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22' | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: '1.97.0' | |
| targets: wasm32-wasip1 | |
| components: rustfmt | |
| - run: python -m pip install -r requirements.txt | |
| - run: python tools/build_playground.py | |
| - run: node tools/verify_playground.mjs | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: playground-native-evidence | |
| path: | | |
| playground/verification/*.json | |
| playground/verification/*.html | |
| playground/verification/*.css | |
| playground/verification/**/*.pdf | |
| playground/verification/**/*.png | |
| retention-days: 7 | |
| - name: Verify downloadable playground projects | |
| run: | | |
| python -m pip install fullbleed==2.5.5 | |
| node tools/verify_project_export.mjs | |
| python -I tools/verify_project_export.py | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: playground-project-verification | |
| path: playground/project-verification | |
| retention-days: 7 | |
| - name: Compile and render the Rust quickstart examples | |
| run: python tools/verify_rust_examples.py | |
| - name: Verify the downloadable PDF regression starter | |
| run: | | |
| python -m venv output/pdf-regression-env | |
| output/pdf-regression-env/bin/python -m pip install --only-binary=:all: fullbleed==2.5.3 | |
| python tools/check_ci_starter.py --python "$PWD/output/pdf-regression-env/bin/python" | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: pdf-regression-download-verification | |
| path: output/pdf-regression-verification | |
| retention-days: 7 | |
| - name: Verify the introductory Python examples | |
| run: | | |
| python -m venv output/reference-env | |
| output/reference-env/bin/python -m pip install --only-binary=:all: fullbleed==2.5.5 | |
| output/reference-env/bin/python -I tools/verify_quickstarts.py | |
| - name: Verify the downloadable Node invoice and guide | |
| run: python tools/verify_node_examples.py | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: node-guide-verification | |
| path: | | |
| output/node-verification/*.json | |
| output/node-verification/*.txt | |
| output/node-verification/**/*.pdf | |
| output/node-verification/**/*.png | |
| retention-days: 7 | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: quickstart-verification | |
| path: output/quickstart-verification | |
| retention-days: 7 | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: rust-quickstart-verification | |
| path: examples/rust/verification | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: playground-verification | |
| path: | | |
| docs/assets/playground/build.json | |
| docs/assets/playground/verification.json | |
| - run: python -m mkdocs build --strict | |
| - run: python tools/check_site.py site | |
| - name: Include search notification ownership file | |
| if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' | |
| env: | |
| INDEXNOW_KEY: ${{ secrets.INDEXNOW_KEY }} | |
| run: | | |
| python - <<'PY' | |
| import os | |
| import re | |
| from pathlib import Path | |
| key = os.environ.get("INDEXNOW_KEY", "") | |
| if key: | |
| if not re.fullmatch(r"[A-Za-z0-9-]{8,128}", key): | |
| raise SystemExit("Invalid IndexNow ownership key format") | |
| Path("site", key + ".txt").write_text(key, encoding="utf-8") | |
| PY | |
| - uses: actions/upload-pages-artifact@v4 | |
| if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' | |
| with: | |
| path: site | |
| deploy: | |
| if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' | |
| needs: build | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - uses: actions/deploy-pages@v4 | |
| id: deployment |