name: Document
on: [push, pull_request]
jobs:
  all:
    runs-on: ubuntu-20.04
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
    steps:
    - uses: hecrj/setup-rust-action@v2
      with:
        rust-version: nightly
    - uses: actions/checkout@v2
    - name: Generate documentation
      run: |
        RUSTDOCFLAGS="--cfg docsrs" \
          cargo doc --no-deps --all-features \
          -p futures-core \
          -p iced_core \
          -p iced_highlighter \
          -p iced_futures \
          -p iced_runtime \
          -p iced_graphics \
          -p iced_wgpu \
          -p iced_tiny_skia \
          -p iced_renderer \
          -p iced_widget \
          -p iced_winit \
          -p iced
    - name: Write CNAME file
      run: echo 'docs.iced.rs' > ./target/doc/CNAME
    - name: Copy redirect file as index.html
      run: cp docs/redirect.html target/doc/index.html
    - name: Publish documentation
      if: github.ref == 'refs/heads/master'
      uses: peaceiris/actions-gh-pages@v3
      with:
        deploy_key: ${{ secrets.DOCS_DEPLOY_KEY }}
        external_repository: iced-rs/docs
        publish_dir: ./target/doc