name: cached-rust description: Installs Rust, caching ~/.cargo and ./target inputs: toolchain: description: "Toolchain to install" required: false default: stable components: description: "Components to install" required: false default: runs: using: "composite" steps: - name: Rust Cache uses: actions/cache@v3 with: path: | ~/.cargo/registry ~/.cargo/git ./target key: ${{ runner.os }}-${{ runner.arch }}-rust-${{ steps.install-rust.outputs.rustc_hash }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-${{ runner.arch }}-rust-${{ steps.install-rust.outputs.rustc_hash }}- - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: ${{ inputs.toolchain }} profile: minimal default: true components: ${{ inputs.components }}