Skip to content

Add default remotes to manifest#260

Merged
micprog merged 13 commits intomasterfrom
fischeti/manifest-remotes
Jan 29, 2026
Merged

Add default remotes to manifest#260
micprog merged 13 commits intomasterfrom
fischeti/manifest-remotes

Conversation

@fischeti
Copy link
Contributor

@fischeti fischeti commented Jan 21, 2026

Allows for specifying (default) remotes for git dependencies, for a more concise specification. The new dependency specification more closely resembles Cargo.toml or pyproject.toml. The main difference is that those use predefined defaults (crates.io and PyPI), which are well established registries. In Bender this is not the case, so remotes have to be specified explicitly. This feature is also somewhat inspired from how uv handles multiple indexes (see here).

# Specify git remotes for dependencies. Optional.
remotes:
  pulp:
    url: "https://github.com/pulp-platform"
    default: true # Only required if multiple remotes are specified.

  # Additional non-default remotes (HTTP or SSH).
  openhw: "https://github.com/openhwgroup"
  internal: "git@gitlab.company.com:internal-repo"

# Other packages this package depends on. Optional.
dependencies:
  # Path dependency.
  axi: { path: "../axi" }

  # Git version dependency from default remote.
  apb: "0.2"

  # Git version dependency from non-default remote.
  fll: { version: "0.8", remote: "internal" }
  
  # Git version dependency with explicit git url.
  ara: { git: "https://github.com/john_doe/ara.git", version: "2" }

The feature is optional and also backward compatible, meaning specifying the full git url is still supported. Furthermore, this short notation is deliberatly not supported for git revision dependencies in order to highlight those dependencies and nudge people to create and use actual releases.

It is also possible to set a different upstream name, in case the repository name is different from the package name:

  floo_noc: {version: "0.7.0", upstream_name: "FlooNoC" }

However, this feature is not advertised in the README.md

Note: The CLI regression tests are failing because I added more dependencies to the Bender.yml, which triggers the audit output.

@fischeti fischeti force-pushed the fischeti/manifest-remotes branch 3 times, most recently from 2f16691 to a8e64a1 Compare January 27, 2026 16:22
@fischeti fischeti force-pushed the fischeti/manifest-remotes branch from a8e64a1 to 9698fc3 Compare January 28, 2026 16:20
@fischeti fischeti force-pushed the fischeti/manifest-remotes branch 3 times, most recently from 76bcbf1 to 20278a3 Compare January 28, 2026 16:44
@fischeti fischeti force-pushed the fischeti/manifest-remotes branch from 20278a3 to 13ef926 Compare January 28, 2026 16:48
@fischeti fischeti marked this pull request as ready for review January 28, 2026 19:45
@fischeti fischeti requested a review from micprog January 28, 2026 19:47
Copy link
Member

@micprog micprog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool new feature! Some small suggestions

Copy link
Member

@micprog micprog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks! 👍

@micprog micprog merged commit 593ea91 into master Jan 29, 2026
8 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants