cargo/.github/workflows/contrib.yml

46 lines
1.3 KiB
YAML

name: Contrib Deploy
on:
push:
branches:
- master
permissions:
contents: read
jobs:
deploy:
permissions:
contents: write # for Git to git push
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install mdbook
run: |
mkdir mdbook
curl -Lf https://github.com/rust-lang/mdBook/releases/download/v0.4.9/mdbook-v0.4.9-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook
echo `pwd`/mdbook >> $GITHUB_PATH
- name: Update toolchain
run: rustup update --no-self-update stable && rustup default stable
- name: Build API doc
run: |
cargo doc --document-private-items --no-deps
- name: Deploy docs
run: |
cd src/doc/contrib
mdbook build
git worktree add gh-pages gh-pages
git config user.name "Deploy from CI"
git config user.email ""
cd gh-pages
# Delete the ref to avoid keeping history.
git update-ref -d refs/heads/gh-pages
rm -rf contrib
mv ../book contrib
# Move rustdoc under contrib/
mv ../../../../target/doc contrib/apidoc
git add contrib
git commit -m "Deploy $GITHUB_SHA to gh-pages"
git push --force