version-sync 0.9.5

Crate for ensuring that version numbers in README files and other files are kept in sync with the crate version.
Documentation
name: build

on:
  pull_request:
  push:
    branches:
      - master
  schedule:
    - cron: "30 18 * * 5" # Every Friday at 18:30 UTC

env:
  CARGO_TERM_COLOR: always
  RUSTFLAGS: -D warnings

jobs:
  build:
    name: Build on ${{ matrix.os }} (${{ matrix.rust }})
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - windows-latest
        rust:
          - stable
          - nightly
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Install ${{ matrix.rust }} Rust
        run: rustup default ${{ matrix.rust }}

      - uses: Swatinem/rust-cache@v2

        # Verify that features work by themselves
        # Features should not interfere with each other

      - name: Build and test with no default feature
        run: cargo test --no-default-features

      - name: Build and test with markdown_deps_updated feature
        run: cargo test --no-default-features --features markdown_deps_updated

      - name: Build and test with html_root_url_updated feature
        run: cargo test --no-default-features --features html_root_url_updated

      - name: Build and test with contains_regex feature
        run: cargo test --no-default-features --features contains_regex

      - name: Build and test with all features
        run: cargo test --all-features

  build-documentation:
    name: Build documentation
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2

      - name: Build documentation and check intra-doc links
        env:
          RUSTDOCFLAGS: --deny rustdoc::broken_intra_doc_links
        run: cargo doc --all-features --no-deps

  format:
    name: Format
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      # We use an unstable rustfmt feature and we thus need the
      # nightly channel to enforce the formatting.
      - name: Setup Rust nightly
        run: rustup default nightly

      - name: Install rustfmt
        run: rustup component add rustfmt

      - name: Check Formatting
        uses: dprint/check@v2.2