WEB3-321: feat: deploy steel docs on github pages #13
Workflow file for this run
This file contains 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: Deploy Steel Documentation | |
on: | |
pull_request: | |
push: | |
tags: | |
- 'v[0-9]+.[0-9]+*' # matches v1.0, v1.1, v2.0, v2.1.0, etc. | |
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
# Allow only one concurrent deployment | |
concurrency: | |
group: "pages" | |
cancel-in-progress: true | |
env: | |
RISC0_TOOLCHAIN_VERSION: r0.1.81.0 | |
RISC0_MONOREPO_REF: "main" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# This is a workaround from: https://github.com/actions/checkout/issues/590#issuecomment-970586842 | |
- run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" | |
- uses: actions/checkout@v4 | |
- name: Setup Pages | |
uses: actions/configure-pages@v4 | |
- uses: risc0/risc0/.github/actions/rustup@main | |
with: | |
toolchain: nightly-2024-09-04 | |
- name: Build documentation | |
run: | | |
if ! cargo +nightly-2024-09-04 doc -p risc0-steel --all-features --no-deps; then | |
echo "Documentation build failed" | |
exit 1 | |
fi | |
env: | |
RISC0_SKIP_BUILD: true | |
RISC0_SKIP_BUILD_KERNEL: true | |
RUSTDOCFLAGS: "--cfg docsrs -D warnings" | |
- name: Setup doc directory structure | |
run: | | |
cd target/doc || exit 1 | |
# Create the risc0_steel directory first | |
mkdir -p risc0_steel | |
# Find all image references and create symlinks with proper relative paths | |
for img in $(find ../../crates -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.gif" -o -name "*.svg" \)); do | |
filename=$(basename $img) | |
# Create absolute path symlinks in root doc directory | |
ln -sf $(realpath $img) $filename | |
# Create relative path symlinks in risc0_steel directory | |
ln -sf $(realpath $img) risc0_steel/$filename | |
done | |
- name: Create index.html redirect | |
run: | | |
echo '<meta http-equiv="refresh" content="0; url=risc0_steel/index.html">' > target/doc/index.html | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: target/doc | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 |