Skip to content

Package URL uses version from Cargo.toml, not --version flag #2165

@BD103

Description

@BD103

Hi! Thank you for maintaining cargo-binstall, it's been super useful in CI!

I've been running into some trouble getting bevy_cli working with cargo-binstall. There's a few things that make our scenario unique:

  1. We only publish releases to Github, bevy_cli on crates.io is reserved until our first official release.
  2. We use the -dev version suffix for unpublished versions of the CLI.
    • For example, the released version is v0.1.0-alpha.1 while installing from the main branch is v0.1.0-dev.

We've been suggesting the following command to install from the latest release:

# Notably, we use `--version` to specify the version that should be installed.
cargo binstall --git https://github.com/TheBevyFlock/bevy_cli --version 0.1.0-alpha.1 --locked bevy_cli

I also specified the following metadata in Cargo.toml so cargo-binstall doesn't have to guess what format we use:

[package]
name = "bevy_cli"
version = "0.1.0-dev"
# ...

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/cli-v{ version }/bevy-{ target }-v{ version }{ archive-suffix }"
pkg-fmt = "bin"

I expected cargo-binstall to replace { version } with 0.1.0-alpha.1, since that's what's specified with the --version flag. Instead, I've noticed that it replaces { version } with 0.1.0-dev, since that's what's in the Cargo.toml.

Should { version } prioritize the value specified by the --version flag over the value in Cargo.toml in this scenario? If so, I can open a PR fixing it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions