- Create a
colcon_wsfolder on your computer - Create an
srcfolder insidecolcon_ws cdinto it- If you run
pwdthe output should end withcolcon_ws/src
- If you run
- Clone IRIS repo:
git clone https://github.com/IllinoisRoboticsInSpace/IRIS IRIScdinto it- If you run
pwdthe output should end withcolcon_ws/src/IRIS
- If you run
- Install Docker
- You may do this any way you wish as long as you have access to the Docker Engine and CLI.
- If in doubt, download Docker Desktop
- Checkout IRIS repo
dockerbranch - Pick one of the two options below
- Creation and intial connection
- Run
docker build -t iris-image /path/to/your/IRIS/repoto create an image from the Dockerfile - Run
docker run -it --name iris -v /path/to/your/colcon_ws:/workspaces/colcon_ws iris-imageto create a container from theiris-imageimage- You should now be in a remote shell in the new container
- Run
exitin the remote shell to close the connection
- Run
- Connecting in the future
- Run
docker start -ai iristo open container- This is what you will do whenever you want to reconnect to the container in the future, don't create a new container and image each time
- You can open a new terminal connected to the container with
docker exec -it iris bashfrom your computer's terminal - Changes you make to
/workspaces/colcon_wsin the container will be reflected on your computer'scolcon_wsfolder and vice versa
- Run
- Develop as you wish (e.g. open your
colcon_wsfolder in VS Code or editor of choice)
- Copy the
.devcontainerfolder intocolcon_ws - Open
colcon_wsin VS Code - Install the
Dev Containersextension - Run the VS Code command
Dev Containers: Reopen in Container- You can access the command palette with
Ctrl+Shift+P
- You can access the command palette with
Note: It is generally advised to run most
gitcommands from a terminal connected to your computer rather than the container
~/colcon_ws/
build/
install/
log/
src/
IRIS/
- Commits should be well-named and modular
- Commit to the correct branch
- Pushing code into the
comp/*and*/main-YYYYbranches will be blocked by GitHub - push code to a feature branch and open a pull request when it is ready to be merged
Unless branch names are in one of the following formats, they will be blocked by GitHub. Please adhere to the naming scheme below.
comp/*- final competition code for that year likecomp/2027perception/*- final code for perception likeperception/main-2027or feature code for perception likeperception/apriltags-2027navigation/*- final code for navigation likenavigation/main-2027or feature code for navigation likenavigation/a-star-2027embedded/*- final code for embedded likeembedded/main-2027or feature code for embedded likeembedded/linear-actuator-2027controls/*- final code for controls likecontrols/main-2027or feature code for controls likecontrols/joystick-2027simulation/*- final code for simulation likesimulation/main-2027or feature code for simulation likesimulation/gazebo-2027hotfix/*- hotfixes to be applied tocomp/*and*/main-YYYYbranches