Skip to content

tweaks to doc gh action #534

tweaks to doc gh action

tweaks to doc gh action #534

Workflow file for this run

name: Generate Documentation
on:
push:
branches:
- main
# only match branches that look like Minecraft versions
- "*.*"
workflow_dispatch:
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Install Rust Toolchain
uses: rs-workspace/[email protected]
with:
toolchain: nightly
- name: Generate Documentation
run: RUSTDOCFLAGS="--enable-index-page -Zunstable-options" cargo doc --workspace --no-deps
- name: Prepare Documentation
run: |
BRANCH_NAME=$(echo "${GITHUB_REF##*/}" | tr '/' '_') # Get branch name safely
mkdir -p versioned_docs/$BRANCH_NAME
cp -r target/doc/* versioned_docs/$BRANCH_NAME
- name: Checkout to Docs Branch
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git fetch origin docs || git checkout --orphan docs
git checkout docs
cp -r versioned_docs/* ./ # Copy docs to branch root
rm -rf versioned_docs # Clean up
rm -rf target # Clean up
- name: Generate branches.html
run: |
VERSIONS=$(ls -d */ | sed 's#/##' | sort -r) # Get all version directories and sort them (latest first)
echo "<!DOCTYPE html>" > branches.html
echo "<html lang=\"en\">" >> branches.html
echo "<head>" >> branches.html
echo " <meta charset=\"UTF-8\">" >> branches.html
echo " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">" >> branches.html
echo " <title>Azalea Docs</title>" >> branches.html
echo "</head>" >> branches.html
echo "<body>" >> branches.html
echo " <h1>Azalea Docs</h1>" >> branches.html
echo " <p>Welcome to the documentation for Azalea.</p>" >> branches.html
echo " <h2>Available Versions</h2>" >> branches.html
echo " <ul>" >> branches.html
# Update branches.html with available versions
for VERSION in $VERSIONS; do
echo " <li><a href=\"https://azalea.matdoes.dev/$VERSION/index.html\">$VERSION</a></li>" >> branches.html
done
echo " </ul>" >> branches.html
echo "</body>" >> branches.html
echo "</html>" >> branches.html
echo "branches.html generated successfully."
- name: Create Index Page
run: |
if [ ! -f index.html ]; then
echo "<meta http-equiv=refresh content=0;url=main/azalea>" > index.html
fi
- name: Deploy Documentation to Docs Branch
run: |
git add .
git commit -m "Update documentation for $GITHUB_REF_NAME" || echo "No changes to commit"
git push origin docs