fix doc build error #104
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: Generate docs | |
on: | |
push: | |
branches: | |
- main | |
- ops/doc # for testing on feature branch | |
jobs: | |
build: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Installing Nix stable" | |
uses: cachix/install-nix-action@v27 | |
with: | |
nix_path: nixpkgs=channel:nixos-24.05 | |
- name: "Restore and cache Nix store" | |
uses: nix-community/cache-nix-action@v5 | |
with: | |
primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix') }} | |
restore-prefixes-first-match: nix-${{ runner.os }}- | |
gc-max-store-size-linux: 1073741824 | |
purge: true | |
purge-prefixes: cache-${{ runner.os }}- | |
purge-created: 60 | |
purge-primary-key: never | |
- name: "Setup Nix Shell" | |
uses: rrbutani/use-nix-shell-action@v1 | |
with: | |
file: shell.nix | |
- name: "Clean docs folder" | |
run: cargo clean --doc | |
- name: "Build Verso docs" | |
run: cargo doc -p verso --no-deps | |
- name: "Remove doc lock file" | |
run: rm target/doc/.lock | |
- name: "Upload `doc` artifact" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: doc | |
path: target/doc | |
deploy: | |
if: github.repository_owner == 'versotile-org' | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: "Checkout `docs` repository" | |
uses: actions/checkout@v4 | |
with: | |
repository: versotile-org/www-docs | |
ssh-key: ${{ secrets.DOCS_DEPLOY_KEY }} | |
ref: docs | |
- name: "Download `doc` artifact" | |
uses: actions/download-artifact@v4 | |
with: | |
name: doc | |
path: artifact | |
- name: "Configure git, commit changes and PUSH" | |
run: | | |
git config user.name 'github-actions[bot]' | |
git config user.email 'github-actions[bot]@users.noreply.github.com' | |
rm -r docs/* | |
cp -r artifact/* docs/ | |
git add docs/ | |
git fetch origin main:main | |
git checkout main docs/ | |
git status | |
git commit -m ":rocket: update docs from \`verso\` repository" | |
git push origin docs |