cargo-dist

0.6.0 (2023-12-18)

v0.6.0 Dec 19 2023 at 00:45 UTC

The headlining features of this release are:

  • Support for specifying arbitrary GitHub Actions Runners
  • The ability to build and upload extra artifacts along side your main build

We also now distribute aarch64 Linux binaries, which makes it easier to use cargo-dist to build software on aarch64 hosts.

Features

Custom Runners in GitHub Actions

This adds support for specifying which runners to use in GitHub CI. This is useful in order to allow cargo-dist to use paid runners, rather than the free runners it defaults to, and to force Linux builds to use a newer version of Ubuntu. By using paid runners, it's also possible to create builds running on ARM64 hosts.

Thanks to @milesj for contributing this!

Build and Host Extra Artifacts

This feature makes it possible to build and upload extra artifacts beyond what the primary build produces. For example, cargo-dist uses this to build and upload its dist-manifest-schema.json to each release. You can use this feature to help build and upload docs, manage extra assets for your release, and more.

Generic Builds Now Set CC/CXX Environment Variables

In generic builds, the CC and CXX environment variables are now set to platform-appropriate compilers. This is mainly applicable to software written in C and C++.

Installer improvements

The installer now updates additional shell configuration files, ensuring that users are able to use your software after installing. The installer now also respects the ZDOTDIR configuration variable when run in the zsh shell.

Improvements

Generic build output

stdout from generic build tasks is now merged with stderr at the time the job is run instead of printed separately after the build completes.

Fixes

"Broken pipe" message in install script

Fixes an issue where the installer script could report a spurious "broken pipe" message in Linux. Note that this didn't affect the installer's behaviour; it still worked as expected.

Better installation failure handling in CI

In the rare case that installing cargo-dist failed in CI, the build would formerly continue anyway and fail in a more confusing way. This has been corrected so that the build now fails immediately.

Source tarball fixes

Generating source tarballs will now be skipped if the workspace being built isn't a git repository. It will also be skipped if git isn't installed.

Improved error reporting in Powershell installer

The Windows Powershell installer now provides better error output on the terminal.