Skip to content

Instantly share code, notes, and snippets.

@SaraVieira
Last active October 26, 2023 19:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SaraVieira/f9337d106c4ba8432dc5e46e13f33478 to your computer and use it in GitHub Desktop.
Save SaraVieira/f9337d106c4ba8432dc5e46e13f33478 to your computer and use it in GitHub Desktop.
artifacts json
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/126629723",
"id": 126629723,
"tag_name": "v0.4.0",
"name": "Version 0.4.0 (2023-10-25)",
"prerelease": false,
"created_at": "2023-10-25T15:13:23Z",
"published_at": "2023-10-25T15:29:34Z",
"assets": [
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304417",
"id": 132304417,
"name": "cargo-dist-aarch64-apple-darwin.tar.xz",
"content_type": "raw",
"state": "uploaded",
"size": 2929072,
"download_count": 10,
"created_at": "2023-10-25T15:29:45Z",
"updated_at": "2023-10-25T15:29:45Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304415",
"id": 132304415,
"name": "cargo-dist-aarch64-apple-darwin.tar.xz.sha256",
"content_type": "raw",
"state": "uploaded",
"size": 105,
"download_count": 0,
"created_at": "2023-10-25T15:29:44Z",
"updated_at": "2023-10-25T15:29:44Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304412",
"id": 132304412,
"name": "cargo-dist-installer.ps1",
"content_type": "raw",
"state": "uploaded",
"size": 9991,
"download_count": 31,
"created_at": "2023-10-25T15:29:43Z",
"updated_at": "2023-10-25T15:29:44Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304411",
"id": 132304411,
"name": "cargo-dist-installer.sh",
"content_type": "raw",
"state": "uploaded",
"size": 22434,
"download_count": 105,
"created_at": "2023-10-25T15:29:43Z",
"updated_at": "2023-10-25T15:29:43Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304408",
"id": 132304408,
"name": "cargo-dist-x86_64-apple-darwin.tar.xz",
"content_type": "raw",
"state": "uploaded",
"size": 3175964,
"download_count": 37,
"created_at": "2023-10-25T15:29:42Z",
"updated_at": "2023-10-25T15:29:42Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304406",
"id": 132304406,
"name": "cargo-dist-x86_64-apple-darwin.tar.xz.sha256",
"content_type": "raw",
"state": "uploaded",
"size": 104,
"download_count": 0,
"created_at": "2023-10-25T15:29:41Z",
"updated_at": "2023-10-25T15:29:41Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304401",
"id": 132304401,
"name": "cargo-dist-x86_64-pc-windows-msvc.zip",
"content_type": "raw",
"state": "uploaded",
"size": 10852022,
"download_count": 33,
"created_at": "2023-10-25T15:29:40Z",
"updated_at": "2023-10-25T15:29:40Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304394",
"id": 132304394,
"name": "cargo-dist-x86_64-pc-windows-msvc.zip.sha256",
"content_type": "raw",
"state": "uploaded",
"size": 104,
"download_count": 0,
"created_at": "2023-10-25T15:29:39Z",
"updated_at": "2023-10-25T15:29:39Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304392",
"id": 132304392,
"name": "cargo-dist-x86_64-unknown-linux-gnu.tar.xz",
"content_type": "raw",
"state": "uploaded",
"size": 3855792,
"download_count": 46,
"created_at": "2023-10-25T15:29:38Z",
"updated_at": "2023-10-25T15:29:39Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304390",
"id": 132304390,
"name": "cargo-dist-x86_64-unknown-linux-gnu.tar.xz.sha256",
"content_type": "raw",
"state": "uploaded",
"size": 109,
"download_count": 0,
"created_at": "2023-10-25T15:29:37Z",
"updated_at": "2023-10-25T15:29:38Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304386",
"id": 132304386,
"name": "cargo-dist-x86_64-unknown-linux-musl.tar.xz",
"content_type": "raw",
"state": "uploaded",
"size": 3981044,
"download_count": 37,
"created_at": "2023-10-25T15:29:37Z",
"updated_at": "2023-10-25T15:29:37Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304379",
"id": 132304379,
"name": "cargo-dist-x86_64-unknown-linux-musl.tar.xz.sha256",
"content_type": "raw",
"state": "uploaded",
"size": 110,
"download_count": 0,
"created_at": "2023-10-25T15:29:36Z",
"updated_at": "2023-10-25T15:29:36Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304377",
"id": 132304377,
"name": "cargo-dist.rb",
"content_type": "raw",
"state": "uploaded",
"size": 1001,
"download_count": 0,
"created_at": "2023-10-25T15:29:35Z",
"updated_at": "2023-10-25T15:29:35Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304531",
"id": 132304531,
"name": "dist-manifest-schema.json",
"content_type": "application/json",
"state": "uploaded",
"size": 15285,
"download_count": 0,
"created_at": "2023-10-25T15:30:26Z",
"updated_at": "2023-10-25T15:30:26Z"
},
{
"url": "https://api.github.com/repos/axodotdev/cargo-dist/releases/assets/132304376",
"id": 132304376,
"name": "dist-manifest.json",
"content_type": "raw",
"state": "uploaded",
"size": 21665,
"download_count": 4,
"created_at": "2023-10-25T15:29:34Z",
"updated_at": "2023-10-25T15:29:35Z"
}
],
"tarball_url": "https://api.github.com/repos/axodotdev/cargo-dist/tarball/v0.4.0",
"zipball_url": "https://api.github.com/repos/axodotdev/cargo-dist/zipball/v0.4.0",
"body": "## Release Notes\n\nThis release contains several major features related to package dependencies. cargo-dist can now install dependencies for you in CI, ensure your users have those dependencies in their installers, and provide you insights into what external libraries your package links against! It also enables support for statically-built musl binaries on Linux.\n\n## Features\n\n### Install custom dependencies\n\nWay back in our [very first blog post](https://blog.axo.dev/2023/02/cargo-dist), we wrote about how users could customize the GitHub CI scripts we output to install custom dependencies. As of cargo-dist 0.4.0, you won't need to do that anymore! System dependencies — that is, dependencies installed via the system's package manager instead of `cargo` — can now be specified in your cargo-dist config in `Cargo.toml` using a syntax very similar to how your `cargo` dependencies are specified. For example:\n\n```toml\n[workspace.metadata.dist.dependencies.homebrew]\ncmake = { targets = [\"x86_64-apple-darwin\"] }\nlibcue = \"2.2.1\"\n\n[workspace.metadata.dist.dependencies.apt]\ncmake = '*'\nlibcue-dev = { version = \"2.2.1-2\" }\n```\n\nFor more information, see the [documentation](https://opensource.axo.dev/cargo-dist/book/reference/config.html#dependencies).\n\n* impl\n * @mistydemeo [initial impl](https://github.com/axodotdev/cargo-dist/pull/428)\n * @mistydemeo [improve Homebrew integration](https://github.com/axodotdev/cargo-dist/pull/504)\n\n\n### Find out what your builds linked against\n\nComplementing the ability to specify system dependencies, we've added a new feature that lets you tell which libraries your Rust programs have dynamically linked against. While most Rust software is statically linked, installing external dependencies may mean that your software links against something on the system; you can visualize which libraries your software uses, and which packages they come from, by viewing the output of the build step in CI.\n\nIn addition, cargo-dist now uses this information to choose which dependencies to specify when building system package manager installers such as a Homebrew formula. If cargo-dist detects that your binary links against a package provided by Homebrew, it will ensure that a user who `brew install`s your package will also get that other package.\n\nThis feature has full support for macOS and Linux. On Windows, we're not able to list which package a system library comes.\n\n* impl\n * @mistydemeo [initial impl](https://github.com/axodotdev/cargo-dist/pull/426)\n * @mistydemeo [infer dependencies via linkage](https://github.com/axodotdev/cargo-dist/pull/475)\n * @mistydemeo [fetch full name of Homebrew tap](https://github.com/axodotdev/cargo-dist/pull/474)\n * @mistydemeo [improve apt package resolution](https://github.com/axodotdev/cargo-dist/pull/495)\n\n\n### musl support\n\nThis release adds support for a long-requested feature, creating Linux binaries statically linked against musl instead of glibc. These can be enabled adding the `x86_64-unknown-linux-musl` target triple to your list of desired targets.\n\nNote that because these binaries are statically linked, they cannot dynamically link against any other C libraries — including C libraries installed using the system dependency feature mentioned above. If your software links against system libraries, please ensure that a static library is available to the build.\n\n* impl\n * @mistydemeo [initial impl](https://github.com/axodotdev/cargo-dist/pull/483)\n * @gankra + @mistydemeo [use musl binaries in installers](https://github.com/axodotdev/cargo-dist/pull/497)\n\n### msvc-crt-static opt-out\n\ncargo-dist has [always forced +crt-static on, as it is considered more correct for targetting Windows with the typical statically linked Rust binary](https://github.com/rust-lang/rfcs/blob/master/text/1721-crt-static.md). However with the introduction of initial support for chocolatey as a system package manager, it's now very easy for our users to dynamically link other DLLs. Once you do, [it once again becomes more correct to dynamically link the windows crt, and to use systems like Visual C(++) Redistributables](https://github.com/axodotdev/cargo-dist/issues/496).\n\nAlthough we [would like to teach cargo-dist to handle redistributables for you](https://github.com/axodotdev/cargo-dist/issues/496), we're starting with a simple escape hatch: if you set `msvc-crt-static = false` in `[workspace.metadata.dist]`, we'll revert to the typical Rust behaviour of dynamically linking the CRT.\n\n* @gankra [impl](https://github.com/axodotdev/cargo-dist/pull/507)\n* [docs](https://opensource.axo.dev/cargo-dist/book/reference/config.html#msvc-crt-static)\n\n## Install cargo-dist 0.4.0\n\n### Install prebuilt binaries via shell script\n\n```sh\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-installer.sh | sh\n```\n\n### Install prebuilt binaries via powershell script\n\n```sh\nirm https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-installer.ps1 | iex\n```\n\n### Install prebuilt binaries via Homebrew\n\n```sh\nbrew install axodotdev/homebrew-tap/cargo-dist\n```\n\n## Download cargo-dist 0.4.0\n\n| File | Platform | Checksum |\n|--------|----------|----------|\n| [cargo-dist-aarch64-apple-darwin.tar.xz](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-aarch64-apple-darwin.tar.xz) | macOS Apple Silicon | [checksum](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-aarch64-apple-darwin.tar.xz.sha256) |\n| [cargo-dist-x86_64-apple-darwin.tar.xz](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-apple-darwin.tar.xz) | macOS Intel | [checksum](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-apple-darwin.tar.xz.sha256) |\n| [cargo-dist-x86_64-pc-windows-msvc.zip](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-pc-windows-msvc.zip) | Windows x64 | [checksum](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-pc-windows-msvc.zip.sha256) |\n| [cargo-dist-x86_64-unknown-linux-gnu.tar.xz](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-unknown-linux-gnu.tar.xz) | Linux x64 | [checksum](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-unknown-linux-gnu.tar.xz.sha256) |\n| [cargo-dist-x86_64-unknown-linux-musl.tar.xz](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-unknown-linux-musl.tar.xz) | musl Linux x64 | [checksum](https://github.com/axodotdev/cargo-dist/releases/download/v0.4.0/cargo-dist-x86_64-unknown-linux-musl.tar.xz.sha256) |"
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment