Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate bsim thru the west manifest #55698

Closed
aescolar opened this issue Mar 10, 2023 · 2 comments · Fixed by #55696
Closed

Integrate bsim thru the west manifest #55698

aescolar opened this issue Mar 10, 2023 · 2 comments · Fixed by #55696
Labels
area: Modules RFC Request For Comments: want input from the community

Comments

@aescolar
Copy link
Member

aescolar commented Mar 10, 2023

NOTE:

  • This is a request to integrate a tool (not source code)
  • This tool is already used today extensively by Zephyr, and part of CI. It is part of the docker image. The change here is just to fetch it using west for users convenience.
  • The ask here for the TSC is a green light to create a new repository in the zephyrproject-rtos organization which would contain a clone of: https://github.com/BabbleSim/bsim_west

Origin

The original project is https://github.com/BabbleSim/bsim_west
This organization contains several repositories, but the one in question would be: https://github.com/BabbleSim/bsim_west

Purpose

BabbleSim is a tool used to simulate the BLE environment. It has been used extensively in Zephyr for 5+ years, and is an integral part of the BT subsystem regression testing.

Mode of integration

The ask is to clone the https://github.com/BabbleSim/bsim_west repository into a new
https://github.com/zephyrproject-rtos/bsim_west
This repository contains a west manifest, with a set of projects under the BabbleSim group, which would be disabled by default in Zephyr.
See #55696
Users who use BabbleSim for their daily work can then chose to enable this group with
west config manifest.group-filter +babblesim
and utilize this version or keep using a separate one.

Maintainership

@aescolar

Pull Request

#55696

Description

Users have requested for many years the option of getting BabbleSim using west, and preferably getting it directly with the Zephyr manifest. Being able to get it as a selectable group should be the most convenient for everybody.
This also allows keeping track automatically (thru the zephyr west manifest) of which version of Babblesim was required and Zephyr was tested with.

The ask is to create a new repository: https://github.com/zephyrproject-rtos/bsim_west
and start it by cloning https://github.com/BabbleSim/bsim_west

Once this is done, the next step will be to modify (slightly) the build and test scripts
for the nrf52_bsim, so that if the environment variables used today to find
BabbleSim are not present, instead of erroring out, it will ask west for the presence
and path to this project, and if present, it would continue with that.

License

Apache 2.0

@aescolar aescolar added TSC Topics that need TSC discussion and removed TSC Topics that need TSC discussion labels Mar 10, 2023
@stephanosio stephanosio added area: Modules RFC Request For Comments: want input from the community labels Mar 13, 2023
@aescolar aescolar added the TSC Topics that need TSC discussion label Mar 17, 2023
@nashif nashif removed the TSC Topics that need TSC discussion label Mar 22, 2023
@aescolar
Copy link
Member Author

To clarify the motivation and to hopefully help with the concern of having a manifest which points to a separate organization:

  • Here we are adding an optional way of fetching an optional simulation tool.
  • There is a commitment to keep support for fetching the simulator like today (i.e. not thru the zephyr manifest, and not necessarily thru west). This will remain a very typical way of getting it, and a necessary way for some more elaborate usecases.
  • If the github organization were to disappear, anybody can clone from their local copies into another organization/git host, and keep using it from there (with west or without). And if nobody cares to do that, it means nobody actually needs to use it, and you can continue without it.

The drive for doing this is just popular demand (i.e. users who want a solution with less steps to both fetch what they need and keep it updated).
That is what the current PR (#55696) targets: From that PR being merged on, which babblesim you need to run Zephyr with, can be fetched with a west update together with the rest of Zephyr modules (if you enable the group).
Users not interested on BT or networking simulation with babblesim, would just not enable that group. Users who fetch babblesim by other means wouldn't either.

@nashif
Copy link
Member

nashif commented Apr 13, 2023

approved by the TSC, closing as done.

@nashif nashif closed this as completed Apr 13, 2023
aescolar added a commit to aescolar/zephyr that referenced this issue Apr 28, 2023
The bsim "west project" was missing in the MAINTAINERS file.
Add it.

The request was tracked in
zephyrproject-rtos#55698
and approved by the TSC.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Modules RFC Request For Comments: want input from the community
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants