mdbook: Generate cargo-doc by GitHub Actions

BUG=b:199874828
TEST=run in my GitHub account

Change-Id: Ie456a90731ccedc4934a13110902ea153fce23ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3159891
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
This commit is contained in:
Keiichi Watanabe 2021-08-24 18:58:07 +09:00 committed by Commit Bot
parent bfc3f64598
commit a493fc52d0
3 changed files with 43 additions and 4 deletions

View file

@ -18,11 +18,43 @@ jobs:
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: 'latest'
- run: cargo install mdbook-mermaid
- run: mdbook build docs/book/
- name: Install Dependencies
run: |
cargo install mdbook-mermaid
sudo apt update
sudo apt install -y \
build-essential \
clang \
libasound2-dev \
libcap-dev \
libdbus-1-dev \
libdrm-dev \
libepoxy-dev \
libssl-dev \
libwayland-bin \
libwayland-dev \
ninja-build \
pkg-config \
protobuf-compiler \
python3 \
python3-pip \
python3-setuptools \
python3-wheel \
wayland-protocols
# Install meson for rutabaga_gfx
pip3 install meson
- name: Run mdbook
run: |
mkdir -p docs/target/
mdbook build docs/book/ --dest-dir ../target/
- name: Run cargo doc
run: |
git submodule update --init
# TODO audio_cras, chromeos, power-monitor-powerd
cargo doc --target-dir ./docs/target/ \
--features "audio composite-disk default default-no-sandbox direct gdb gfxstream gpu plugin tpm usb video-decoder video-encoder virgl_renderer virgl_renderer_next wl-dmabuf x"
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/book/book
publish_dir: ./docs/target/

View file

@ -20,3 +20,7 @@
- [Sandboxing](./appendix/sandboxing.md)
- [Seccomp](./appendix/seccomp.md)
- [Minijail](./appendix/minijail.md)
--------------------------------------------------------------------------------
[API Documentation](./api.md)

3
docs/book/src/api.md Normal file
View file

@ -0,0 +1,3 @@
# API Document
The API documentation generated by `cargo doc` is available [here](./doc/crosvm/).