Some checks failed
API and SemVer surface / api-surface (push) Failing after 13m8s
Native code generation / deterministic (push) Failing after 2m8s
Concurrency and resource soak audit / soak (push) Failing after 6m39s
Imaging and meshing gate / native (push) Has been cancelled
Release platform and feature matrix / audit (push) Has been cancelled
Release platform and feature matrix / matrix (false, linux-stable-minimal, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (false, macos-stable-portable, x86_64-apple-darwin, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (false, windows-stable-portable, x86_64-pc-windows-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-msrv-portable, x86_64-unknown-linux-gnu, 1.96.0) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-stable-default, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-stable-features, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Release platform and feature matrix / matrix (true, linux-stable-release-surface, x86_64-unknown-linux-gnu, stable) (push) Has been cancelled
Documentation / documentation (push) Has been cancelled
Native Rust workspace compile / compile (push) Has been cancelled
Dependency and supply-chain audit / audit (push) Has been cancelled
JPEG 2000 feature / linux (push) Successful in 2m46s
Skia feature / linux (push) Successful in 31m0s
90 lines
2.9 KiB
YAML
90 lines
2.9 KiB
YAML
name: Documentation
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- ".gitea/workflows/documentation.yml"
|
|
- "Cargo.lock"
|
|
- "Cargo.toml"
|
|
- "README.md"
|
|
- "api/**"
|
|
- "crates/**"
|
|
- "docs/**"
|
|
- "programs/**"
|
|
- "tools/ci-matrix/**"
|
|
- "tools/generate_api_shims.py"
|
|
- "tools/install_openjpeg_2_5_4.sh"
|
|
pull_request:
|
|
paths:
|
|
- ".gitea/workflows/documentation.yml"
|
|
- "Cargo.lock"
|
|
- "Cargo.toml"
|
|
- "README.md"
|
|
- "api/**"
|
|
- "crates/**"
|
|
- "docs/**"
|
|
- "programs/**"
|
|
- "tools/ci-matrix/**"
|
|
- "tools/generate_api_shims.py"
|
|
- "tools/install_openjpeg_2_5_4.sh"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
documentation:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 45
|
|
env:
|
|
OPENJPEG_PREFIX: /tmp/metacrate-openjpeg-${{ github.run_id }}
|
|
PKG_CONFIG_PATH: /tmp/metacrate-openjpeg-${{ github.run_id }}/lib/pkgconfig
|
|
LD_LIBRARY_PATH: /tmp/metacrate-openjpeg-${{ github.run_id }}/lib
|
|
FORCE_SKIA_BINARIES_DOWNLOAD: "1"
|
|
CARGO_BUILD_JOBS: 1
|
|
CARGO_INCREMENTAL: 0
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install native documentation prerequisites
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --yes build-essential clang cmake curl ninja-build \
|
|
pkg-config python3 libfontconfig1-dev libfreetype6-dev libopus-dev
|
|
tools/install_openjpeg_2_5_4.sh "$OPENJPEG_PREFIX"
|
|
|
|
- name: Install Rust 1.97 toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: 1.97.0
|
|
components: rustfmt
|
|
|
|
- name: Check formatting
|
|
run: cargo fmt --all -- --check
|
|
|
|
- name: Verify documentation coverage report
|
|
run: |
|
|
cargo run --locked -p metacrate-ci-matrix -- documentation-report
|
|
git diff --exit-code -- api/DOCUMENTATION-COVERAGE.md
|
|
cargo run --locked -p metacrate-ci-matrix -- documentation-audit --evidence /tmp/metacrate-documentation-audit.json
|
|
cmp /tmp/metacrate-documentation-audit.json ci/evidence/documentation-audit.json
|
|
|
|
- name: Build warning-free workspace documentation
|
|
env:
|
|
RUSTDOCFLAGS: "-D warnings"
|
|
run: cargo doc --workspace --no-deps --locked -j 1
|
|
|
|
- name: Compile guide snippets and examples
|
|
run: |
|
|
cargo test --locked -p libremetaverse --doc -j 1
|
|
cargo test --locked -p libremetaverse --examples -j 1
|
|
cargo run --locked -p libremetaverse --example offline_client
|
|
cargo run --locked -p libremetaverse --example cancellation
|
|
|
|
- name: Verify documented program quick starts
|
|
run: cargo test --locked -p libremetaverse-programs --tests -j 1
|
|
|
|
- name: Upload documentation evidence
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: documentation-evidence
|
|
path: ci/evidence/documentation-audit.json
|
|
if-no-files-found: error
|