name: rustdoc
on:
  push:
   branches:
   - master

env:
  CARGO_INCREMENTAL: 0
  CARGO_NET_RETRY: 10
  RUSTFLAGS: "-D warnings -W unreachable-pub"
  RUSTUP_MAX_RETRIES: 10

jobs:
  rustdoc:
    if: github.repository == 'rust-lang/rust-analyzer'
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Install Rust toolchain
      run: rustup update --no-self-update stable

    - name: Build Documentation
      run: cargo doc --all --no-deps

    - name: Deploy Docs
      uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        publish_branch: gh-pages
        publish_dir: ./target/doc
        force_orphan: true
