name: CI

on:
  push:
    branches:
      - main
  pull_request:
  schedule:
    # Run multiple times a day as the successfull cached links are not checked every time.
    - cron: '0 */8 * * *'

jobs:
  ci:
    if: github.repository == 'rust-lang/rustc-dev-guide'
    runs-on: ubuntu-latest
    env:
      MDBOOK_VERSION: 0.4.52
      MDBOOK_LINKCHECK2_VERSION: 0.9.1
      MDBOOK_MERMAID_VERSION: 0.12.6
      MDBOOK_OUTPUT__LINKCHECK__FOLLOW_WEB_LINKS: ${{ github.event_name != 'pull_request' }}
      DEPLOY_DIR: book/html
      BASE_SHA: ${{ github.event.pull_request.base.sha }}
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - uses: actions/checkout@v5
        with:
          # linkcheck needs the base commit.
          fetch-depth: 0

      - name: Cache binaries
        id: mdbook-cache
        uses: actions/cache@v4
        with:
          path: |
            ~/.cargo/bin
          key: ${{ runner.os }}-${{ env.MDBOOK_VERSION }}--${{ env.MDBOOK_LINKCHECK2_VERSION }}--${{ env.MDBOOK_MERMAID_VERSION }}

      - name: Restore cached Linkcheck
        if: github.event_name == 'schedule'
        id: cache-linkcheck-restore
        uses: actions/cache/restore@v4
        with:
          path: book/linkcheck/cache.json
          key: linkcheck--${{ env.MDBOOK_LINKCHECK2_VERSION }}--${{ github.run_id }}
          restore-keys: |
            linkcheck--${{ env.MDBOOK_LINKCHECK2_VERSION }}--

      - name: Install latest nightly Rust toolchain
        if: steps.mdbook-cache.outputs.cache-hit != 'true'
        run: |
          rustup update nightly
          rustup override set nightly

      - name: Install Dependencies
        if: steps.mdbook-cache.outputs.cache-hit != 'true'
        run: |
          cargo install mdbook --version ${{ env.MDBOOK_VERSION }}
          cargo install mdbook-linkcheck2 --version ${{ env.MDBOOK_LINKCHECK2_VERSION }}
          cargo install mdbook-mermaid --version ${{ env.MDBOOK_MERMAID_VERSION }}

      - name: Check build
        run: ENABLE_LINKCHECK=1 mdbook build

      - name: Save cached Linkcheck
        id: cache-linkcheck-save
        if: ${{ !cancelled() && github.event_name == 'schedule' }}
        uses: actions/cache/save@v4
        with:
          path: book/linkcheck/cache.json
          key: linkcheck--${{ env.MDBOOK_LINKCHECK2_VERSION }}--${{ github.run_id }}

      - name: Deploy to gh-pages
        if: github.event_name == 'push'
        run: |
          touch "${{ env.DEPLOY_DIR }}/.nojekyll"
          cp CNAME "${{ env.DEPLOY_DIR }}"
          cd "${{ env.DEPLOY_DIR }}"
          rm -rf .git
          git init
          git config user.name "Deploy from CI"
          git config user.email ""
          git add .
          git commit -m "Deploy ${GITHUB_SHA} to gh-pages"
          git push --quiet -f "https://x-token:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}" HEAD:gh-pages

      - name: Cache sembr build
        uses: actions/cache@v4
        with:
          path: |
            ~/.cargo/registry/index/
            ~/.cargo/registry/cache/
            ~/.cargo/git/db/
            ci/sembr/target/
          key: sembr-${{ hashFiles('ci/sembr/Cargo.lock') }}

      - name: Check if files comply with semantic line breaks
        continue-on-error: true
        run: |
          # using split_inclusive that uses regex feature that uses an unstable feature
          RUSTC_BOOTSTRAP=1 cargo run --release --manifest-path ci/sembr/Cargo.toml src
