#github #publish #cargo #cargo-subcommand #goreleaser

app cargo-deliver

Run goreleaser from Rust to deploy your Rust binaries to Github/Artifactory/Dockerhub

1 unstable release

Uses old Rust 2015

0.2.0 Jan 21, 2018

#182 in #publish

MIT license

6KB
69 lines

cargo-deliver

What is it?

This will use goreleaser to deploy your Rust binaries to Github/Artifactory/Dockerhub. It's still experimental and will only work once/if Rust support gets added to goreleaser .

Installation

cargo install cargo-deliver

To upgrade:

cargo install --force cargo-deliver

Or clone and build with $ cargo build --release then place in your $PATH.

Usage

  1. Add a .goreleaser.yml to your project. Here is an example:
rust:
- target:
  - x86_64-apple-darwin
  binary: cargo-ship

# Archive customization
archive:
  format: tar.gz
  replacements:
    amd64: 64-bit
    darwin: macOS
    linux: Linux

You can get a list of all possible targets with

rustc --print target-list
  1. Tag your current commit, e.g.
git tag -a "v0.1.0"
  1. Next, you need to export a GITHUB_TOKEN environment variable, which should contain a GitHub token with the repo scope selected. It will be used to deploy releases to your GitHub repository. Create a token here.

  2. Run the following command

cargo deliver

Dependencies

~16MB
~335K SLoC