name: Setup Rust description: Install the Rust toolchain (+ optional targets) and restore the build cache. inputs: target: description: Comma-separated extra target triples to install required: false default: '' save-cache: description: Whether to save the Rust cache required: false default: 'false' restore-cache: description: Whether to restore the Rust cache required: false default: 'true' runs: using: composite steps: - name: Install Rust (stable) uses: dtolnay/rust-toolchain@stable with: toolchain: stable targets: ${{ inputs.target }} components: cargo, clippy, rustc, rustfmt - name: Cache Rust if: ${{ inputs.restore-cache == 'true' }} uses: Swatinem/rust-cache@master with: key: ${{ inputs.target }} save-if: ${{ inputs.save-cache }} shared-key: release-cache