cargo-upgrade-command 0.3.0

Tiny cli utility to update all globally installed cargo crates
Documentation
name: Test self-update

on: workflow_dispatch

jobs:
  test_self_update:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
    runs-on: ${{ matrix.os }}

    steps:
      - uses: actions/checkout@v3

      - uses: Swatinem/rust-cache@v2

      - name: Install cargo-version-util
        run: cargo install cargo-version-util

      - name: Install cargo-upgrade-command
        run: cargo install cargo-upgrade-command

      - name: save cargo-upgrade-command version
        run: echo "current_version=$(cargo upgrade v)" >> $GITHUB_ENV
        shell: bash

      - name: Change version to v0.1.0
        run: cargo version-util set-version 0.1.0

      - name: install cargo-upgrade-command@0.1.0
        run: cargo install --path .

      - name: get cargo-upgrade-command version after install
        run: echo "installed_version=$(cargo upgrade v)" >> $GITHUB_ENV
        shell: bash

      - name: Verify installed version of cargo-upgrade-command
        if: env.installed_version != 'cargo-upgrade-command v0.1.0'
        run: 'echo "Error: installed version ''${{env.installed_version}}'' does not match expected version ''cargo-upgrade-command v0.1.0''" && exit 1'

      - name: Upgrade cargo-upgrade-command
        run: cargo upgrade

      - name: get cargo-upgrade-command new_version
        run: echo "upgraded_version=$(cargo upgrade v)" >> $GITHUB_ENV
        shell: bash

      - name: Verify upgraded version of cargo-upgrade-command
        if: env.upgraded_version != env.current_version
        run: 'echo "Error: Upgraded version ''${{env.upgraded_version}}'' does not match expected current version ''${{env.current_version}}''" && exit 1'