trillium-grpc 0.3.0

gRPC server and client for trillium, built on trillium-http's h2/h2c/h3 support
Documentation
name: docs

permissions:
  contents: write
  pages: write
  id-token: write

on:
  push:
    branches:
      - main

concurrency:
  group: pages
  cancel-in-progress: true

jobs:
  docs:
    name: build rustdocs and put them on github pages
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@nightly
      - uses: Swatinem/rust-cache@v2
      - uses: dtolnay/install@cargo-docs-rs
      - name: Build Documentation
        run: |
          cargo metadata --no-deps --format-version 1 \
            | jq -r '.packages[] | select(.targets[].kind[] == "lib") | .name' \
            | xargs -I{} cargo docs-rs -p {}
          cp -r "target/$(rustc -vV | sed -n 's/host: //p')/doc/." target/doc/
        env:
          RUSTDOCFLAGS: -D warnings
      - name: Setup Pages
        uses: actions/configure-pages@v6
      - name: Fix permissions
        run: |
          chmod -c -R +rX "./target/doc" | while read line; do
            echo "::warning title=Invalid file permissions automatically fixed::$line"
          done
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v4
        with:
          path: ./target/doc
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v5