Skip to content
settings

GitHub Action

Setup crate

v1 Latest version

Setup crate

settings

Setup crate

Install any Rust crate

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Setup crate

uses: extractions/setup-crate@v1

Learn more about this action in extractions/setup-crate

Choose a version

setup-crate

Build Status

This GitHub Action will install a release of a Rust crate for you.

Introduction

This action will work for any project that satisfies the following conditions:

  • The project is a public GitHub project.

  • The project uses GitHub releases with semver tag names.

  • The project attaches assets to the GitHub release that contain a Rust target. The following targets are looked for:

    Arch Node Platform Targets
    x64 linux x86_64-unknown-linux-musl or x86_64-unknown-linux-gnu
    x64 darwin x86_64-apple-darwin
    x64 win32 x86_64-pc-windows-msvc
    arm64 linux aarch64-unknown-linux-musl or aarch64-unknown-linux-gnu
    arm64 darwin aarch64-apple-darwin
  • The asset is a .tar.gz or .zip archive that contains a binary with the project name.

Usage

Examples

In most cases all you will need is to specify repo and the owner/name of the project in your workflow. For example the following installs the latest version of mdBook.

- uses: extractions/setup-crate@v1
  with:
    repo: rust-lang/mdBook

If you want a specific version you can specify this by suffixing version to the input. For example the following installs the latest 0.10.x version of just.

- uses: extractions/setup-crate@v1
  with:
    repo: casey/[email protected]

Inputs

Name Required Description Type Default
repo no The GitHub repository name and valid NPM-style semver specification string
github-token no The GitHub token for making API requests string ${{ secrets.GITHUB_TOKEN }}

The semver specification is passed directly to NPM's semver package. This GitHub Action will install the latest matching release. Examples include

  • version: '*' latest version (default).
  • version: '0.1' equivalent to >=0.1.0 <0.2.0.
  • version: '0.1.x' equivalent to >=0.1.0 <0.2.0.
  • version: '0.1.0' equivalent to =0.1.0.
  • version: '^0.1.0' equivalent to >=0.1.0 <0.2.0.

Deprecated inputs

The following inputs are still supported for now but will be removed in a future release.

Name Required Description Type Default
owner no The GitHub user or organization name string
name no The GitHub repository name string
version no A valid NPM-style semver specification string *

License

Licensed under either of

at your option.