Skip to content

Update commands for local testing #69

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

Merged
merged 2 commits into from
Jan 23, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 12 additions & 31 deletions docs/Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,45 +45,26 @@ To make code review easier, please consider manually porting the new hunks into

# Testing changes locally

```bash
# First, create a new conda environment and add the conda-forge and robostack channels:

micromamba create -n robostackenv python=3.11

micromamba activate robostackenv
micromamba config append channels conda-forge
micromamba config append channels robostack-staging

# Install some dependencies
micromamba install pip conda-build anaconda-client mamba conda catkin_pkg ruamel_yaml rosdistro empy networkx requests boa

# Install vinca
pip install git+https://github.com/RoboStack/vinca.git --no-deps

# Clone the relevant repo
git clone https://github.com/RoboStack/ros-humble.git # or: git clone https://github.com/RoboStack/ros-noetic.git

# Move in the newly cloned repo
cd ros-humble # or: cd ros-noetic
Clone the relevant repo:

# Make a copy of the relevant vinca file
cp vinca_linux_64.yaml vinca.yaml # replace with your platform as necessary
```bash
git clone https://github.com/RoboStack/ros-humble.git # or: git clone https://github.com/RoboStack/ros-noetic.git or git clone https://github.com/RoboStack/ros-jazzy.git
```bash

# Now modify vinca.yaml as you please, e.g. add new packages to be built
code vinca.yaml
Then move in the newly cloned repo, and if necessary do any change to the `vinca_*.yaml` file for your platform:

# Run vinca to generate the recipe; the recipes will be located in the `recipes` folder
vinca --multiple
```bash
cd ros-humble # or: cd ros-noetic or cd ros-jazzy
```bash

# Build the recipe using boa:
boa build recipes -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
then you can build the packages that need to be built after the `vinca_***.yaml` changes with:

# You can also generate an azure pipeline locally, e.g.
vinca-azure -d recipes -t mytriggerbranch -p linux-64
# which will create a `linux.yml` file that contains the azure pipeline definition
```bash
pixi run build
```

# How does it work?

- The `vinca.yaml` file specifies which packages should be built.
- Add the desired package under `packages_select_by_deps`. This will automatically pull in all dependencies of that package, too.
- The vinca.yaml files contain lots of commented-out package names. That is okay. Not all packages need to be rebuilt with every pull request. Do not be afraid if you see your package commented out after some time - it just means it is not being built now. For sure it will be built with next full rebuild. Full rebuilds happen occasionally (few times a year).
Expand Down