narrow 0.15.1

An implementation of Apache Arrow
Documentation
name: Docs

on: [push, pull_request]

permissions:
  actions: write
  contents: read

env:
  SCCACHE_GHA_ENABLED: true
  RUSTC_WRAPPER: sccache

jobs:
  rustdoc:
    name: Rustdoc
    runs-on: ubuntu-24.04-arm
    env:
      RUSTDOCFLAGS: -Dwarnings
    steps:
      - uses: actions/checkout@v5
      - uses: dtolnay/rust-toolchain@nightly
        id: rust-toolchain
      - uses: actions/cache@v4
        with:
          path: |
            ~/.cargo/registry/index/
            ~/.cargo/registry/cache/
            ~/.cargo/git/db/
          key: cargo-${{ hashFiles('**/Cargo.lock') }}
          restore-keys: cargo-
      - uses: mozilla-actions/sccache-action@v0.0.9
      - run: cargo install --locked cargo-docs-rs
      - run: cargo docs-rs
      - run: mv "target/$(rustc -vV | awk '/^host/ { print $2 }')/doc" "target/doc"
      - run: chmod -c -R +rX "target/doc"
      - run: echo "<meta http-equiv=refresh content=0;url=narrow>" > target/doc/index.html
      - if: github.event_name == 'push' && github.ref == 'refs/heads/main'
        uses: actions/upload-artifact@v5
        with:
          name: rustdoc
          path: target/doc
      - run: cargo docs-rs -p narrow-derive

  deploy:
    name: Deploy
    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
    runs-on: ubuntu-24.04-arm
    needs: rustdoc
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}/narrow
    concurrency:
      group: github-pages
      cancel-in-progress: true
    permissions:
      contents: read
      pages: write
      id-token: write
    steps:
      - uses: actions/download-artifact@v6.0.0
        with:
          name: rustdoc
      - uses: actions/configure-pages@v5
      - uses: actions/upload-pages-artifact@v4
        with:
          path: .
      - uses: actions/deploy-pages@v4
        id: deployment