1
2
Fork 0
mirror of https://github.com/mat-1/azalea.git synced 2025-08-02 14:26:04 +00:00

Better Docs

This commit is contained in:
Aditya Kumar 2024-11-24 17:25:31 +05:30
parent dfdc3144b6
commit 6ee42c4c4f
No known key found for this signature in database

View file

@ -1,45 +1,61 @@
name: Doc
name: Generate Documentation
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: write
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
- name: Install Rust Toolchain
uses: rs-workspace/rust-toolchain@v0.1.0
with:
toolchain: nightly
- run: cargo doc --workspace --no-deps
- uses: "finnp/create-file-action@master"
env:
FILE_NAME: "./target/doc/index.html"
FILE_DATA: '<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0;url=''./azalea''"/></head></html>' # Redirect to default page
- name: Setup Pages
uses: actions/configure-pages@v2
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: './target/doc/'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
- 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 README.md
run: |
VERSIONS=$(ls -d */ | sed 's#/##' | sort -r) # Get all version directories and sort them (latest first)
rm README.md # Delete README.md and generate a new one
echo "# Azalea Docs" > README.md
echo "Welcome to the documentation for Azalea Crate." >> README.md
echo "" >> README.md
# Update README.md with available versions
echo "## Available Versions" >> README.md
for VERSION in $VERSIONS; do
echo "- [$VERSION](./$VERSION/index.html)" >> README.md
done
echo "README.md updated successfully."
- 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