winreg 0.52.0

Rust bindings to MS Windows Registry API
Documentation
name: CI
on:
  - push
  - pull_request
  - workflow_dispatch
jobs:
  tests:
    name: CI
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        channel: [stable]
        target:
          - x86_64-pc-windows-msvc
          - x86_64-pc-windows-gnu
          - i686-pc-windows-msvc
          - i686-pc-windows-gnu
        include:
          - channel: stable
            target: x86_64-pc-windows-msvc
            lint: true
          - channel: '1.46'
            target: x86_64-pc-windows-msvc
            restrict_deps_versions: true
    env:
      RUST_BACKTRACE: full
    steps:
      - uses: actions/checkout@v2
      - name: Install rust-${{ matrix.channel }}
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.channel }}
          profile: minimal
          override: true
      - name: Cache cargo registry
        uses: actions/cache@v2
        continue-on-error: true
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
          key: ${{ runner.os }}-cargo-${{ matrix.channel }}
          restore-keys: |
            ${{ runner.os }}-cargo-${{ matrix.channel }}
      - name: Create Cargo.lock
        uses: actions-rs/cargo@v1
        with:
          command: generate-lockfile
      - name: Restrict iana-time-zone version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package iana-time-zone --precise 0.1.54
      - name: Restrict js-sys version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package js-sys --precise 0.3.50
      - name: Restrict wasm-bindgen version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package wasm-bindgen --precise 0.2.84
      - name: Restrict serde_bytes version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package serde_bytes --precise 0.11.10
      - name: Restrict serde_json version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package serde_json --precise 1.0.72
      - name: Restrict serde version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package serde --precise 1.0.156
      - name: Restrict serde_derive version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package serde_derive --precise 1.0.156
      - name: Restrict chrono version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package chrono --precise 0.4.24
      - name: Restrict quote version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package quote --precise 1.0.30
      - name: Restrict proc-macro2 version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package proc-macro2 --precise 1.0.65
      - name: Restrict windows-targets version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package windows-targets:0.48.5 --precise 0.48.5
      - name: Restrict windows_x86_64_msvc version
        if: matrix.restrict_deps_versions
        uses: actions-rs/cargo@v1
        with:
          command: update
          args: --package windows_x86_64_msvc:0.48.5 --precise 0.48.5
      - name: Check formatting
        if: matrix.lint
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check
      - name: Lint
        if: matrix.lint
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-features --all-targets
      - name: Run tests (no features)
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --locked --release --no-fail-fast --no-default-features
      - name: Run tests (all features)
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --locked --release --no-fail-fast --all-features