Skip to content

Commit e6b6416

Browse files
committed
Merge branch 'main' into user/stevenxu27/404-Complete-Boat-State-Class
2 parents 6104ab7 + 085f5fa commit e6b6416

File tree

434 files changed

+78856
-2742
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

434 files changed

+78856
-2742
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ghcr.io/ubcsailbot/sailbot_workspace/dev:add-pybind11
1+
FROM ghcr.io/ubcsailbot/sailbot_workspace/dev:deferred-path-variable-evaluation
22

33
# Copy configuration files (e.g., .vimrc) from config/ to the container's home directory
44
ARG USERNAME=ros

.devcontainer/base-dev/base-dev.Dockerfile

Lines changed: 4 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,6 @@ RUN apt-get update \
99
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
1010
ENV DEBIAN_FRONTEND=
1111

12-
FROM fix-certificates AS ompl-source
13-
14-
ENV DEBIAN_FRONTEND=noninteractive
15-
RUN apt-get update \
16-
&& apt-get install -y --no-install-recommends git \
17-
&& apt-get autoremove -y \
18-
&& apt-get clean -y \
19-
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
20-
RUN git clone https://github.com/ompl/ompl.git && cd ompl && git reset --hard 2db81e2
21-
22-
# From https://github.com/athackst/dockerfiles/blob/32a872348af0ad25ec4a6e6184cb803357acb6ab/ros2/humble.Dockerfile
2312
FROM fix-certificates AS ros-pre-base
2413

2514
ENV DEBIAN_FRONTEND=noninteractive
@@ -63,55 +52,6 @@ ENV ROS_PYTHON_VERSION=3
6352
ENV ROS_VERSION=2
6453
ENV DEBIAN_FRONTEND=
6554

66-
# Based on https://github.com/ompl/ompl/blob/2db81e2154cad93f4b823b2afcd3e7c021ea2b2f/scripts/docker/ompl.Dockerfile
67-
FROM fix-certificates AS ompl-builder
68-
# avoid interactive configuration dialog from tzdata, which gets pulled in
69-
# as a dependency
70-
ENV DEBIAN_FRONTEND=noninteractive
71-
RUN apt-get update \
72-
&& apt-get install -y --no-install-recommends \
73-
build-essential \
74-
castxml \
75-
cmake \
76-
libboost-filesystem-dev \
77-
libboost-numpy-dev \
78-
libboost-program-options-dev \
79-
libboost-python-dev \
80-
libboost-serialization-dev \
81-
libboost-system-dev \
82-
libboost-test-dev \
83-
libeigen3-dev \
84-
libexpat1 \
85-
libflann-dev \
86-
libtriangle-dev \
87-
ninja-build \
88-
pkg-config \
89-
python3-dev \
90-
python3-numpy \
91-
python3-pip \
92-
pypy3 \
93-
wget \
94-
&& apt-get autoremove -y \
95-
&& apt-get clean -y \
96-
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
97-
RUN pip3 install pygccxml pyplusplus
98-
COPY --from=ompl-source /ompl /ompl
99-
WORKDIR /ompl
100-
RUN cmake \
101-
-G Ninja \
102-
-B build \
103-
-DPYTHON_EXEC=/usr/bin/python3 \
104-
-DOMPL_REGISTRATION=OFF \
105-
-DCMAKE_INSTALL_PREFIX=/usr \
106-
&& cmake --build build -t update_bindings \
107-
&& NPROC=$(nproc) \
108-
&& HALF_NPROC=$((NPROC / 2)) \
109-
&& cmake --build build -- -j $HALF_NPROC \
110-
&& cmake --install build \
111-
&& cd tests/cmake_export \
112-
&& cmake -B build -DCMAKE_INSTALL_PREFIX=../../install \
113-
&& cmake --build build
114-
11555
FROM fix-certificates AS mongo-cxx-driver-builder
11656

11757
ENV DEBIAN_FRONTEND=noninteractive
@@ -120,6 +60,9 @@ RUN apt-get update \
12060
build-essential \
12161
cmake \
12262
git \
63+
libbson-dev \
64+
libbson-1.0-0 \
65+
libmongoc-1.0-0\
12366
libmongoc-dev \
12467
ninja-build \
12568
wget \
@@ -168,7 +111,6 @@ RUN apt-get update \
168111
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
169112
ENV DEBIAN_FRONTEND=
170113

171-
COPY --from=ompl-builder /usr /usr
172114
COPY --from=mongo-cxx-driver-builder /usr/local /usr/local
173115

174116
FROM pre-base as base
@@ -364,6 +306,7 @@ ENV DEBIAN_FRONTEND=noninteractive
364306
RUN apt-get update \
365307
&& apt-get install -y --no-install-recommends \
366308
less \
309+
unzip \
367310
openssh-client \
368311
tmux \
369312
&& apt-get autoremove -y \
@@ -375,5 +318,3 @@ ENV DEBIAN_FRONTEND=
375318
RUN pip3 install \
376319
# for juypter notebooks
377320
ipykernel \
378-
# to generate ompl python bindings
379-
pybind11

.devcontainer/base-dev/update-bashrc.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,9 @@ echo " source $ROS_WORKSPACE/install/local_setup.bash" >> $HOME/.bashrc
2020
echo "else" >> $HOME/.bashrc
2121
echo " echo -e \"\\\e[1;33mWARNING: Can't find the ROS workspace overlay: build then run 'source $ROS_WORKSPACE/install/local_setup.bash'\\\e[0m\"" >> $HOME/.bashrc
2222
echo "fi" >> $HOME/.bashrc
23+
24+
echo "" >> $HOME/.bashrc
25+
echo "# Add locations for ROS type support modules to PATH" >> $HOME/.bashrc
26+
echo 'export LD_LIBRARY_PATH=/workspaces/sailbot_workspace/install/lib:$LD_LIBRARY_PATH' >> $HOME/.bashrc
27+
echo "# This is required for rosidl_parser to be findable on the RPI" >> $HOME/.bashrc
28+
echo 'export PYTHONPATH=/opt/ros/humble/local/lib/python3.10/dist-packages:$PYTHONPATH' >> $HOME/.bashrc

.devcontainer/docker-compose.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ services:
55
build:
66
context: .
77
dockerfile: Dockerfile
8+
network_mode: host
9+
privileged: true
810
user: ros
911
ports:
1012
# website
@@ -28,7 +30,7 @@ services:
2830

2931
# URL: mongodb://localhost:27017
3032
mongodb:
31-
image: mongo:${MONGO_TAG:-4.4.18}
33+
image: mongo:${MONGO_TAG:-7.0}
3234
restart: unless-stopped
3335
volumes:
3436
- mongodb-data:/data/db:delegated

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
PYTHONPATH=src:install/lib/python3.10/site-packages
1+
PYTHONPATH=src:install/lib/python3.10/site-packages:/workspaces/sailbot_workspace/build/integration_tests:/workspaces/sailbot_workspace/build/controller:/workspaces/sailbot_workspace/build/local_pathfinding:/workspaces/sailbot_workspace/build/boat_simulator:/workspaces/sailbot_workspace/install/local/lib/python3.10/dist-packages:/workspaces/sailbot_workspace/install/lib/python3.10/site-packages:/opt/ros/humble/local/lib/python3.10/dist-packages:/opt/ros/humble/lib/python3.10/site-packages

.github/CODEOWNERS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
/docs/ @jamenkaye
2626

2727
# local_pathfinding
28-
/notebooks/local_pathfinding @jamenkaye @FireBoyAJ24
29-
/src/local_pathfinding @jamenkaye @FireBoyAJ24
28+
/notebooks/local_pathfinding @jamenkaye @FireBoyAJ24 @SPDonaghy
29+
/src/local_pathfinding @jamenkaye @FireBoyAJ24 @SPDonaghy
3030

3131
# network_systems
32-
/src/network_systems @samdai01
32+
/src/network_systems @Jng468 @vaibhavambastha
3333

3434
# website
3535
/src/website @JordanChen123

.github/workflows/deployment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Checkout workspace
1515
uses: actions/checkout@v4
1616
- name: Update docker image
17-
uses: appleboy/ssh-action@v1.0.3
17+
uses: appleboy/ssh-action@v1.2.2
1818
with:
1919
host: ${{ secrets.SSH_HOST }}
2020
username: ${{ secrets.SSH_USERNAME }}

.github/workflows/docs.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
name: Docs Site
22

33
on:
4-
push:
5-
branches:
6-
- main
7-
pull_request:
8-
# default types and closed
9-
types: [opened, synchronize, reopened, closed]
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'docs/**'
9+
pull_request:
10+
types: [opened, synchronize, reopened, closed]
11+
paths:
12+
- 'docs/**'
13+
schedule:
14+
- cron: '0 0 * * 0' # Runs on main every Sunday at midnight UTC
15+
1016

1117
jobs:
1218
# https://github.com/nosborn/github-action-markdown-cli
@@ -18,7 +24,7 @@ jobs:
1824
uses: actions/checkout@v4
1925

2026
- name: Run linter
21-
uses: nosborn/github-action-markdown-cli@v3.3.0
27+
uses: nosborn/github-action-markdown-cli@v3.4.0
2228
with:
2329
config_file: .markdownlint.json
2430
files: .

.github/workflows/tests.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ jobs:
1616
- name: Checkout workspace
1717
uses: actions/checkout@v4
1818

19+
- name: Set up Python
20+
uses: actions/setup-python@v5
21+
with:
22+
python-version: '3.x'
23+
24+
- name: show installed python dependencies
25+
run: |
26+
pip3 list
27+
1928
- name: Test
2029
uses: ./.github/actions/
2130
with:

README.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,12 @@ The [ament linters](https://github.com/ament/ament_lint/tree/humble) are configu
3434
containing all our configuration and dependencies.
3535
Our Dev Container configuration can be found in [`.devcontainer/`](https://github.com/UBCSailbot/sailbot_workspace/blob/main/.devcontainer).
3636

37-
### Multi-Root Workspace
37+
### VS Code Workspace
3838

39-
[Workspaces](https://code.visualstudio.com/docs/editor/workspaces) are VS Code instances that contain one or more folders.
39+
[Workspaces](https://code.visualstudio.com/docs) are VS Code instances that contain one or more folders.
4040
Our workspace configuration file can be found at
4141
[`sailbot.code-workspace`](https://github.com/UBCSailbot/sailbot_workspace/blob/main/sailbot.code-workspace).
4242

43-
Our software spans many repositories: [software team repositories](https://github.com/orgs/UBCSailbot/teams/software-team/repositories).
44-
[Multi-root workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces)
45-
make it easy to work with multiple repositories at the same time.
46-
Our roots are defined in the `folders` section of our workspace file.
47-
4843
### Debugging
4944

5045
[Launch configurations](https://code.visualstudio.com/docs/editor/debugging#_launch-configurations)
@@ -73,7 +68,7 @@ This repository supports user-specific configuration files. To set this up, see
7368

7469
### Run Raye's Software
7570

76-
[Raye](https://www.ubcsailbot.org/discover-raye) was our previous project.
71+
[Raye](https://www.ubcsailbot.org/rayes-story) was our previous project.
7772
Her software can be run in the [`raye` branch](https://github.com/UBCSailbot/sailbot_workspace/tree/raye)
7873
following the instructions in [How to run Raye's software](https://ubcsailbot.github.io/sailbot_workspace/main/current/sailbot_workspace/usage/how_to/#run-rayes-software).
7974
The initial differences between the `main` and `raye` branches are summarized in

0 commit comments

Comments
 (0)