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

define DTSHELL_LIB in .envrc #8

Open
wants to merge 44 commits into
base: ente-staging
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
a039c5e
define DTSHELL_LIB in .envrc
afdaniele Sep 9, 2023
0eca6d8
minor
afdaniele Nov 14, 2023
68a9723
Fixed default branches for shell and libraries
Tuxliri Dec 29, 2023
f3209c4
Using correct lib-dtproject for shell
Tuxliri Dec 29, 2023
0c33896
Merge pull request #9 from Tuxliri/fixing-developer-setup-ente
afdaniele Jan 3, 2024
8d3daba
added robot/dt-compose-commons
afdaniele Jan 16, 2024
3e03ca4
added template
afdaniele Jan 27, 2024
442e178
added template
afdaniele Jan 27, 2024
e498c58
Added ros basics lx's repos
Tuxliri Jan 31, 2024
eee389f
Merge pull request #10 from Tuxliri/adding-ros-basics-lx
afdaniele Feb 4, 2024
ae7bfe6
Merge remote-tracking branch 'origin/ente' into ente
afdaniele Feb 19, 2024
37c030f
added repository: dt-ros-interface
afdaniele Mar 10, 2024
ce6b252
added duckietown-SDK and duckietown-messages
afdaniele Mar 10, 2024
e870add
updated env
afdaniele Apr 23, 2024
bf52118
cleaned up repos
afdaniele Apr 30, 2024
545140b
added DTSHELL_PROFILE to env
afdaniele Apr 30, 2024
414393d
added repos
afdaniele Jun 12, 2024
389f1fd
added more repos
afdaniele Jun 18, 2024
7dd542c
minor
afdaniele Jun 19, 2024
21ee9db
added repo: book-opmanual-dd24
afdaniele Jun 27, 2024
510dc3c
removed deprecated repo: lib-dt-duckiematrix-protocols
afdaniele Jun 27, 2024
e49643d
added hardware repos
afdaniele Jun 28, 2024
e297b5e
Added devcontainer configuration files
Tuxliri Jul 1, 2024
b6ed563
Added new repos
Tuxliri Jul 1, 2024
be5985a
Merge branch 'ente' of github.com:duckietown/dt-env-developer into ente
Tuxliri Jul 1, 2024
141b3e7
Added devcontainer feature as submodule
Tuxliri Jul 1, 2024
c1bde4b
Added git lfs to devcontainer
Tuxliri Jul 2, 2024
e8a9626
Added bind mount of ssh user directory to devcontainer
Tuxliri Jul 2, 2024
e537752
Added rsync to devcontainer
Tuxliri Jul 3, 2024
cd59a64
Added development extensions to devcontainer
Tuxliri Jul 3, 2024
96544a3
added repos
afdaniele Jul 7, 2024
80edad7
Updated devcontainer
Tuxliri Jul 15, 2024
8a720f6
Merge branch 'ente' of github.com:duckietown/dt-env-developer into ente
Tuxliri Jul 15, 2024
bc126be
Added devcontainer git lfs and dts features
Tuxliri Jul 16, 2024
5bfba5b
Merge branch 'ente' of github.com:duckietown/dt-env-developer into ente
Tuxliri Jul 16, 2024
e7e3d80
Added bumpversion to devcontainer
Tuxliri Jul 19, 2024
ebd77ab
Updated dts devcontainer feature
Tuxliri Jul 19, 2024
c1f2fc3
Updated README.md to match Jira setup instructions for ente
Tuxliri Jul 26, 2024
9cac740
no v6 branch
liampaull Aug 30, 2024
8978c0e
Merge branch 'ente' of github.com:duckietown/dt-env-developer into ente
liampaull Aug 30, 2024
9775028
adding
liampaull Sep 22, 2024
0e24986
updating for new lxs
liampaull Oct 2, 2024
39590d7
adding computer vision lx
liampaull Oct 22, 2024
1d19a5d
adding lx-estimation and recipe
liampaull Nov 25, 2024
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
46 changes: 46 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
FROM osrf/ros:noetic-desktop-full

# Add vscode user with same UID and GID as your host system
# (copied from https://code.visualstudio.com/remote/advancedcontainers/add-nonroot-user#_creating-a-nonroot-user)
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=$USER_UID
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& apt-get update \
&& apt-get install -y sudo \
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME
# Switch from root to user
USER $USERNAME

# Add user to video group to allow access to webcam
RUN sudo usermod --append --groups video $USERNAME

# Update all packages
RUN sudo apt update && sudo apt upgrade -y

# Install Git
RUN sudo apt install -y git

# Rosdep update
RUN rosdep update

# Source the ROS setup file
RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc

RUN sudo apt-get update \
&& sudo apt-get install -y \
avahi-utils \
bumpversion \
direnv \
dnsutils \
inetutils-ping \
nano \
net-tools \
rsync \
unzip \
&& sudo rm -rf /var/lib/apt/lists/*

# Configure direnv shell hook (assuming bash)
RUN echo 'eval "$(direnv hook bash)"' >> ~/.bashrc
50 changes: 50 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"name": "noetic desktop",
"dockerFile": "Dockerfile",
"runArgs": [
"--privileged",
"--net=host"
],
"workspaceMount": "source=${localWorkspaceFolder},target=/${localWorkspaceFolderBasename},type=bind",
"workspaceFolder": "/${localWorkspaceFolderBasename}",
"mounts": [
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.bash_history,target=/home/vscode/.bash_history,type=bind",
"source=/var/run/dbus,target=/var/run/dbus,type=bind",
"source=/var/run/avahi-daemon/socket,target=/var/run/avahi-daemon/socket,type=bind",
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh,target=/home/vscode/.ssh,type=bind"
],
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"moby": true,
"azureDnsAutoDetection": true,
"installDockerBuildx": true,
"installDockerComposeSwitch": true,
"version": "latest",
"dockerDashComposeVersion": "latest"
},
"ghcr.io/devcontainers/features/git:1": {
"ppa": true,
"version": "os-provided"
},
"ghcr.io/devcontainers/features/git-lfs:1": {},
"./feature-dts-devcontainer/src/duckietown-shell": {}
},
"customizations": {
"vscode": {
"extensions": [
"charliermarsh.ruff",
"GitHub.copilot",
"GitHub.copilot-chat",
"GitHub.vscode-pull-request-github",
"ms-azuretools.vscode-docker",
"ms-python.debugpy",
"ms-python.python",
"ms-python.vscode-pylance",
"ms-toolsai.jupyter",
"ms-toolsai.jupyter-cell-tags",
"ms-toolsai.jupyter-renderers",
"ms-toolsai.vscode-jupyter-slideshow"
]
}
}
}
1 change: 1 addition & 0 deletions .devcontainer/feature-dts-devcontainer
10 changes: 10 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
ROOT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )

export PRETTYPRINT_EXTRAS_EXCLUDE="ipython_repr_pretty,ipython,django"

export PIP_INDEX_URL="https://pypi.org/simple"
export DTSERVER="https://challenges.duckietown.org/v4"
export DOCKER_REGISTRY="docker.io"

# shell
export DTSHELL_LIB=${ROOT_DIR}/shell/duckietown-shell/lib
export DTSHELL_COMMANDS=${ROOT_DIR}/shell/duckietown-shell-commands
export DTSHELL_VERBOSE=0
export DTSHELL_PYTHONPATH=${ROOT_DIR}/libraries/lib-dtproject/src
export DTSHELL_PROFILE=ente

# python
# - duckietown-sdk
export PYTHONPATH=${ROOT_DIR}/libraries/duckietown-sdk/src:${PYTHONPATH}
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule ".devcontainer/feature-dts-devcontainer"]
path = .devcontainer/feature-dts-devcontainer
url = [email protected]:duckietown/feature-dts-devcontainer.git
99 changes: 58 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,80 +1,97 @@
# `dt-env-developer`

This "environment" repository contains pointers to the most important repositories in Duckietown.

These are managed using a tool called [`mr`][mr].
## Installation

## Install `mr`
### **On Linux**

Install `mr` on Linux:
Run the command,

$ sudo apt install myrepos
```
sudo apt install myrepos direnv
```

Install `mr` on Mac:
### **On MacOS**

$ brew install mr
Run the command,

## Clone this repo
```
brew install mr direnv
```

Clone this repository:
## Install other tools

$ git clone [email protected]:duckietown/dt-env-developer.git
$ cd dt-env-developer
Install utility tools,

## Setup `mrtrust`
```
pip3 install bump2version twine
```

# Setup the developer environment

$ echo $PWD/.mrconfig >> ~/.mrtrust
$ echo $PWD/docs/.mrconfig >> ~/.mrtrust
All the repositories you will need to work with are indexed inside a repository called `dt-env-developer`.

## Checkout

Check out all the repos:
Let’s clone the `ente` branch (the same applies to `ente-staging`).

$ mr checkout
```
git clone -b ente [email protected]:duckietown/dt-env-developer ./ente
cd ./ente
```

Note: you might not have permissions to access some of the repos.
Please notify us promptly---every time we add a repo, we need to update the permissions for particular groups.
## Setup `direnv`

## Status
Hook `direnv` into your shell [REF](https://direnv.net/docs/hook.html)

You can check the status of the repos with this:
**Using bash (Linux):**

$ mr status
Add the following line at the end of the `~/.bashrc` file:

This will tell you if you have modified files.
```
eval "$(direnv hook bash)"
```

## Update
**Using zsh (macOS):**

Update:
Add the following line at the end of the `~/.zshrc` file:

$ mr update
```
eval "$(direnv hook zsh)"
```

We need to tell `direnv` that we trust this workspace,

## Complete docs
```
direnv allow .
```

[See here for the complete documentation about `mr`][docs].
## Setup `mr`

We need to tell `mr` that we trust this workspace,

[mr]: https://github.com/RichiH/myrepos
[docs]: http://myrepos.branchable.com/
```
make mrtrust-all
```

## Checkout

# Setting up development environments

## Environment variables
Check out all the repos:

```
$ mr checkout
```

You have to set the `DT_ENV_DEVELOPER` variables to the root of this folder.
> [!NOTE]
> **NOTE:** You might not have permissions to access some of the repos. Ask your manager.

## Misc requirements
### Complete docs

pip3 install bump2version twine
[See here for the complete documentation about](http://myrepos.branchable.com/) `mr`.

## Setting up packages
# Setup shell

You have to run `python setup.py develop` in all the folders.
Switch your shell to `ente` by running the following command,

Run:
```
dts --set-version ente
```

make setup-develop-nodeps setup-develop
13 changes: 11 additions & 2 deletions autolab/.mrconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
[dt-autolab-commons]
checkout = git clone -b 'daffy' '[email protected]:duckietown/dt-autolab-commons.git' 'dt-autolab-commons'

[dt-autolab-localization]
checkout = git clone -b 'ente' '[email protected]:duckietown/dt-autolab-localization.git' 'dt-autolab-localization'
checkout = git clone -b 'daffy' '[email protected]:duckietown/dt-autolab-localization.git' 'dt-autolab-localization'

[dt-aido-autolab-evaluator]
checkout = git clone -b 'ente' '[email protected]:duckietown/dt-aido-autolab-evaluator.git' 'dt-aido-autolab-evaluator'
checkout = git clone -b 'daffy' '[email protected]:duckietown/dt-aido-autolab-evaluator.git' 'dt-aido-autolab-evaluator'

[dt-autolab-device-interface]
checkout = git clone -b 'daffy' '[email protected]:duckietown/dt-autolab-device-interface.git' 'dt-autolab-device-interface'

[dt-autolab-proxy]
checkout = git clone -b 'daffy' '[email protected]:duckietown/dt-autolab-proxy.git' 'dt-autolab-proxy'
1 change: 1 addition & 0 deletions compose/compose-pkg-duckietown-duckiedrone
Submodule compose-pkg-duckietown-duckiedrone added at 9c1c6f
1 change: 1 addition & 0 deletions compose/compose-pkg-ros
Submodule compose-pkg-ros added at c449d3
3 changes: 0 additions & 3 deletions docs/.mrconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,3 @@ checkout=git clone -b 'production' '[email protected]:duckietown/docs.duckietown.co

[dt-jupyter-book]
checkout=git clone -b 'ente' '[email protected]:duckietown/dt-jupyter-book.git' 'dt-jupyter-book'

[book-instructor-manual]
checkout=git clone -b 'main' '[email protected]:duckietown/book-instructor-manual.git' 'book-instructor-manual'
3 changes: 3 additions & 0 deletions docs/books/.mrconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ checkout=git clone -b 'ente' '[email protected]:duckietown/book-opmanual-duckiedron
[book-opmanual-duckietown]
checkout=git clone -b 'ente' '[email protected]:duckietown/book-opmanual-duckietown' 'book-opmanual-duckietown'

[book-opmanual-dd24]
checkout=git clone -b 'ente' '[email protected]:duckietown/book-opmanual-dd24' 'book-opmanual-dd24'

[book-devmanual-docs]
checkout=git clone -b 'ente' '[email protected]:duckietown/book-devmanual-docs' 'book-devmanual-docs'

Expand Down
3 changes: 3 additions & 0 deletions hardware/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/*
!.gitignore
!.mrconfig
3 changes: 3 additions & 0 deletions hardware/.mrconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[electronics]
checkout=git clone '[email protected]:duckietown/electronics.git' 'electronics'

21 changes: 21 additions & 0 deletions infra/.mrconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ checkout = git clone -b 'production' '[email protected]:duckietown/.jenkins-jobs' '
[ci-jenkins]
checkout = git clone -b 'master' '[email protected]:duckietown/ci-jenkins' 'ci-jenkins'

[ci-builder-node]
checkout = git clone -b 'master' '[email protected]:duckietown/ci-builder-node' 'ci-builder-node'

[hub.duckietown.com]
checkout = git clone -b 'main' '[email protected]:duckietown/hub.duckietown.com' 'hub.duckietown.com'

Expand All @@ -18,3 +21,21 @@ checkout = git clone -b 'ente' '[email protected]:duckietown/dt-statistics-server.g

[duckietown-world]
checkout = git clone -b 'ente' '[email protected]:duckietown/duckietown-world.git' 'duckietown-world'

[dt-stackoverflow-slack-invite-bot]
checkout = git clone -b 'main' '[email protected]:duckietown/dt-stackoverflow-slack-invite-bot.git' 'dt-stackoverflow-slack-invite-bot'

[dt-archimede-deployment]
checkout = git clone -b 'daffy' '[email protected]:duckietown/dt-archimede-deployment.git' 'dt-archimede-deployment'

[dt-davinci-deployment]
checkout = git clone -b 'main' '[email protected]:duckietown/dt-davinci-deployment.git' 'dt-davinci-deployment'

[utility-dashboards]
checkout = git clone -b 'ente' '[email protected]:duckietown/utility-dashboards' 'utility-dashboards'

[dt-duckietown-viewer]
checkout = git clone -b 'ente' '[email protected]:duckietown/dt-duckietown-viewer' 'dt-duckietown-viewer'

[electron-viewer]
checkout = git clone -b 'main' '[email protected]:duckietown/electron-viewer' 'electron-viewer'
16 changes: 14 additions & 2 deletions libraries/.mrconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[lib-dt-authentication]
checkout = git clone -b 'ente' '[email protected]:duckietown/lib-dt-authentication.git' 'lib-dt-authentication'
checkout = git clone -b 'main' '[email protected]:duckietown/lib-dt-authentication.git' 'lib-dt-authentication'

[lib-dt-data-api]
checkout = git clone -b 'ente' '[email protected]:duckietown/lib-dt-data-api.git' 'lib-dt-data-api'
Expand Down Expand Up @@ -32,11 +32,14 @@ checkout = git clone -b 'ente' '[email protected]:duckietown/lib-dt-motion-planning
checkout = git clone -b 'ente' '[email protected]:duckietown/lib-dt-maps.git' 'lib-dt-maps'

[lib-dtproject]
checkout = git clone -b 'ente' '[email protected]:duckietown/lib-dtproject.git' 'lib-dtproject'
checkout = git clone -b 'master' '[email protected]:duckietown/lib-dtproject.git' 'lib-dtproject'

[lib-dtps]
checkout = git clone -b 'ente' '[email protected]:duckietown/lib-dtps.git' 'lib-dtps'

[lib-dtps-ui]
checkout = git clone -b 'main' '[email protected]:duckietown/lib-dtps-ui.git' 'lib-dtps-ui'

[dockertown]
checkout = git clone -b 'master' '[email protected]:duckietown/dockertown.git' 'dockertown'

Expand All @@ -45,3 +48,12 @@ checkout = git clone -b 'ente' '[email protected]:duckietown/duckietown-docker-util

[dt-machine-learning-libraries]
checkout = git clone -b 'ente' '[email protected]:duckietown/dt-machine-learning-libraries.git' 'dt-machine-learning-libraries'

[duckietown-sdk]
checkout = git clone -b 'v1' '[email protected]:duckietown/duckietown-sdk.git' 'duckietown-sdk'

[duckietown-messages]
checkout = git clone -b 'main' '[email protected]:duckietown/duckietown-messages.git' 'duckietown-messages'

[lib-dtps-http]
checkout = git clone -b 'ente' '[email protected]:duckietown/lib-dtps-http.git' 'lib-dtps-http'
2 changes: 2 additions & 0 deletions lx/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/*
!ethz

!.gitignore
!.mrconfig
!Makefile
Loading