This GitHub Action installs Riff in your CI pipeline. Riff is a tool that automatically provides external dependencies for software projects. It currently works with Rust projects but additional language support will be added soon.
Here's an example Actions pipeline that uses install-riff-action:
jobs:
build-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Install Riff
uses: DeterminateSystems/install-riff-action@v1
- name: Build release
run: riff run cargo build -- --releaseAs in the example above, you need to have both Nix and Cargo installed in
your pipeline for Riff to work. The DeterminateSystems/nix-installer-action
and actions-rs/toolchain Actions work well for that (and are used
in our tests) but you can use other installation
methods if you wish.
install-riff-action is available on macos-* and ubuntu-* systems. As Nix
isn't supported on Windows, install-riff-action can't be used on windows-*
runners.
You can supply a specific Riff version using the riff-version parameter:
- name: Install Riff
uses: DeterminateSystems/install-riff-action@v1
with:
riff-version: "1.0.3"The current default for riff-version is 1.0.3.
With a Rust toolchain (including Cargo) and Nix installed in your pipeline,
install-riff-action runs the install-riff.sh script to
install Riff itself.
Releases for this Action are tied to Riff releases. For each new Riff version:
- Update
inputs.riff-version.defaultinaction.yml. - Update
riff-versionin the README and in the CI pipeline. - Pull request the changes and merge.
- Tag the new
HEADwith the new version (e.g.v1.2.3) and push. - Create a new release with the following attributes:
- Select the new version tag.
- Provide a release title of the form
install-riff-action-v*, e.g.install-riff-action-v1.2.3. - Choose Dependency Management as the primary category.
- Add a brief release note, e.g.
Release for Riff version v1.2.3. - Submit the release.