Skip to content

Render and Deploy Docs #2542

Render and Deploy Docs

Render and Deploy Docs #2542

Workflow file for this run

name: Render and Deploy Docs
on:
workflow_dispatch:
push:
branches:
- main
jobs:
build:
name: Render and deploy protocol and API docs
timeout-minutes: 30
runs-on: buildjet-16vcpu-ubuntu-2204
steps:
- name: Checkout the source code
uses: actions/checkout@v4
with:
lfs: true
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Load Rust caching
uses: astriaorg/[email protected]
- name: Load get-version action to grab version component of deployment path
uses: battila7/get-version-action@v2
id: get_version
- name: Print version component of deployment path
run: echo ${{ steps.get_version.outputs.version }}
- name: Install mdbook
run: cargo install mdbook mdbook-katex mdbook-mermaid
- name: Build software guide
run: cd docs/guide && mdbook build
- name: Move software guide to subdirectory
run: |
cd docs/guide
if [ -d "firebase-tmp" ]; then rm -rf firebase-tmp; fi
mkdir firebase-tmp
mv book firebase-tmp/${{ steps.get_version.outputs.version }}
tree firebase-tmp
- name: Deploy software guide to firebase
uses: w9jds/[email protected]
with:
args: deploy
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
PROJECT_ID: penumbra-guide
PROJECT_PATH: docs/guide
- name: Build protocol spec
run: cd docs/protocol && mdbook build
- name: Move protocol spec to subdirectory
run: |
cd docs/protocol
if [ -d "firebase-tmp" ]; then rm -rf firebase-tmp; fi
mkdir firebase-tmp
mv book firebase-tmp/${{ steps.get_version.outputs.version }}
tree firebase-tmp
- name: Deploy protocol spec to firebase
uses: w9jds/[email protected]
with:
args: deploy
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
PROJECT_ID: penumbra-protocol
PROJECT_PATH: docs/protocol
- name: Build rustdocs
run: ./deployments/scripts/rust-docs
- name: Move API docs to subdirectory
run: |
cd docs/rustdoc
if [ -d "firebase-tmp" ]; then rm -rf firebase-tmp; fi
mkdir firebase-tmp
mv ../../target/doc firebase-tmp/${{ steps.get_version.outputs.version }}
# Copy in the static index file
cp index.html firebase-tmp/${{ steps.get_version.outputs.version }}
- name: Deploy API docs to firebase
uses: w9jds/[email protected]
with:
args: deploy
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
PROJECT_ID: penumbra-doc
PROJECT_PATH: docs/rustdoc