rss_workspace is an unified development environment for the SuperMegaBot (SMB). It leverages Docker and Development Containers to provide a consistent and reproducible development environment across different platforms.
To quickly setup the development environment locally, please follow the instructions below.
-
Follow the Dev Containers tutorial to setup Dev container locally. You need to install Docker and VScode on your local machine. Install the Dev Containers extension in VScode. Make sure you can run Dev Container samples described in the tutorial. If you have more capacity, you can also take a look at the Dev Containers documentation to get a better understanding of how Dev Containers work.
-
To use SSH (for pushing commits to GitHub and connecting robots over SSH) inside container without copying your private ssh-key, you need to setup ssh-agent locally and add your ssh key to the ssh-agent. Follow the instructions here to properly setup ssh-agent. For some OS, ssh-agent is already running by default. You can check if ssh-agent is running by
echo $SSH_AUTH_SOCK
if it is set, then ssh-agent is presumably running. You can run
ssh-add -l
to list the keys added to the ssh-agent. If you see your key, then you are good to go. If not, follow the instructions in the link above to setup ssh-agent.
Note
The workspace repo will be cloned to a docker managed volume, which is isolated from your local file system, i.e., the workspace is not stored in your local file system. This may be useful if you want to keep your local file system clean or if you encounter performance issues when the workspace on macOS or Windows. To know more about the docker volume, please refer to the Docker documentation.
If you have the VScode and docker installed, you can click the badge above or here to open the workspace in a Dev Container. Otherwise, follow the steps below:
-
Open a new VScode window.
-
Press
F1
to open the command palette, typeClone Repository in Container Volume
and select the command to clone the workspace to a docker volume. You can also find the command in the quick actions Status bar item (the blue button at the bottom-left corner of VScode).
- Type the URL of the repository
https://github.com/ETHZ-RobotX/rss_workspace
and pressEnter
.
For detailed instructions, please refer to the Dev Containers documentation.
Warning
The Dev Containers extension uses "bind mounts" to source code in your local filesystem by default. While this is the simplest option, on macOS and Windows, you may encounter slower disk performance when using catkin build
or other disk-intensive operations. If you encounter this issue, consider using Method 1.
git clone https://github.com/ETHZ-RobotX/rss_workspace.git
code rss_workspace # Open the workspace in VScode. You can also open the folder in VScode manually.
Press F1
to open the command palette, type Reopen in Container
and select the command to reopen the workspace in a Dev Container.
Again, you can also find the command in the quick actions Status bar item.