Giter VIP home page Giter VIP logo

rss_workspace's Introduction

Workspace for Robotics Summer School (RSS)

build-smb-base-image Open in Dev Containers

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.

Preparation

  1. 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.

  2. 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.

Open workspace locally

Method 1: Clone the workspace to a docker volume and open it in VScode.

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:

  1. Open a new VScode window.

  2. Press F1 to open the command palette, type Clone 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).

quick action bar

  1. Type the URL of the repository https://github.com/ETHZ-RobotX/rss_workspace and press Enter.

For detailed instructions, please refer to the Dev Containers documentation.

Method 2: Clone the workspace to your local file system and open it in VScode.

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.

Clone the workspace
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.
Reopen workspace in dev container

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.

rss_workspace's People

Contributors

huoleit avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.