-
-
Notifications
You must be signed in to change notification settings - Fork 83
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
58 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
name: Retroactive Documentation Deployment | ||
|
||
on: | ||
workflow_dispatch: # Allows manual triggering of the workflow | ||
|
||
jobs: | ||
deploy: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Code | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 # Get the entire history so all tags are available | ||
|
||
- name: Setup Rust | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
|
||
- name: Cache Dependencies | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.cargo | ||
key: cargo-cache-${{ hashFiles('**/Cargo.lock') }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
cargo install mdbook mdbook-mermaid mdbook-toc | ||
- name: Generate and Deploy Documentation | ||
run: | | ||
mkdir -p deploy | ||
tags=$(git tag -l 'v*') # Assumes tag format is v<version> | ||
for tag in $tags; do | ||
git checkout $tag | ||
version=${tag#v} | ||
deploy_dir="deploy/$version" | ||
if [[ ! -d $deploy_dir ]]; then | ||
if [[ -d "docs" ]]; then | ||
cd docs | ||
mdbook build | ||
mv book ../$deploy_dir | ||
cd .. | ||
else | ||
echo "Docs folder not found for tag $tag." | ||
fi | ||
else | ||
echo "Documentation already exists for tag $tag." | ||
fi | ||
done | ||
git checkout main # Return to main branch before deployment | ||
- name: Deploy | ||
uses: JamesIves/github-pages-deploy-action@v4 | ||
with: | ||
folder: deploy | ||
single-commit: true |