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

Allow building docs in Docker containers #308

Merged
merged 2 commits into from
Dec 7, 2024
Merged

Allow building docs in Docker containers #308

merged 2 commits into from
Dec 7, 2024

Conversation

sea-bass
Copy link
Owner

@sea-bass sea-bass commented Dec 7, 2024

We're now mounting the docs folder and installing the pip requirements for building docs.

I also added a docs service so you can do docker compose run docs to generate the documentation.

FYI @kumar-sanjeeev

@kumar-sanjeeev
Copy link
Contributor

Noted. Thanks.

Copy link

github-actions bot commented Dec 7, 2024

Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py00100% 
core
   __init__.py90100% 
   dynamics.py49197%142
   gazebo.py137894%55, 128, 234, 248–252
   hallway.py97891%206, 248–251, 295–297
   locations.py1371787%76, 78, 111, 124–125, 127–128, 145, 204, 237, 262, 272, 329–330, 332–333, 362
   objects.py73494%113, 144, 191, 219
   robot.py4948483%273, 276, 288, 291, 295–296, 301–302, 342–344, 360, 377–378, 417–419, 423–427, 452, 455, 459–461, 488, 490, 532–533, 535–536, 542–543, 552–555, 560, 562, 571–573, 580–582, 644–646, 671–673, 679–680, 688–692, 737–739, 750–751, 811–813, 818, 865–867, 872, 890, 896, 899, 901, 903, 906–908, 985, 1003, 1006
   room.py56296%68, 125
   world.py82419076%163, 166, 200–201, 205, 277–278, 280, 283, 313–314, 376, 390–391, 393, 396, 411–413, 433–437, 439–441, 443–444, 447, 449–452, 456–460, 463–464, 467, 470–481, 497–498, 516–518, 532, 534, 537–538, 543–545, 564–565, 567–568, 584, 586, 589–590, 595–597, 607–609, 626–627, 629–630, 644, 646, 649–650, 655–657, 680, 682, 685–686, 691–693, 729, 735, 771–772, 775, 798, 818, 821, 832, 835, 843, 859–863, 865, 868–869, 872–875, 877, 880, 883–884, 887–889, 891–893, 895–897, 899, 914, 921, 932–936, 971–972, 976–977, 995–996, 1002–1003, 1005–1006, 1008, 1010–1011, 1013, 1015–1016, 1026–1027, 1030, 1032, 1046, 1048, 1055, 1115, 1146–1147, 1170–1171, 1175–1176, 1195–1196, 1200–1201, 1226–1227, 1280–1281, 1305, 1370, 1377, 1487–1488, 1540, 1620–1621, 1687, 1697
   yaml_utils.py143695%71, 77, 166, 169, 189, 192
gui
   __init__.py20100% 
   action_runners.py914847%32–33, 35–39, 41, 74–75, 77–81, 83, 109–110, 112–116, 118, 144–145, 147–151, 153, 176–177, 179–183, 185, 208–209, 211–215, 217
   main.py2777473%23–25, 46, 94, 98–101, 248–257, 269–279, 286–289, 291, 294–300, 304, 309–310, 314–315, 326, 369–370, 379–380, 384–385, 397, 400–403, 405–406, 408–409, 412–415, 417–419, 423–426
   world_canvas.py2635280%134–137, 141–142, 147–148, 155, 157, 159, 216–218, 224, 226, 246–248, 293, 350–351, 378–379, 381, 383–384, 386–389, 391–392, 396–402, 405, 408–409, 422, 440–441, 443, 449, 451–454
manipulation
   __init__.py10100% 
   grasping.py2396473%100, 108, 110–112, 114–122, 124, 132, 462, 464–466, 470–472, 566–567, 569–571, 574–578, 586, 589–591, 596–597, 603–607, 610–617, 620–622, 631, 633, 635–641
navigation
   __init__.py16287%37, 54
   a_star.py791186%82–84, 87–89, 91–93, 181, 190
   execution.py96792%81–83, 88–90, 125
   occupancy_grid.py1391489%45–48, 50–54, 57, 193, 227, 235, 239
   prm.py58493%59–60, 139, 148
   rrt.py1630100% 
   visualization.py32681%88–93
   world_graph.py61690%117, 120, 130, 139, 148, 150
planning
   __init__.py00100% 
   actions.py1120100% 
planning/pddlstream
   __init__.py7185%13
   default_mappings.py90100% 
   planner.py40880%119–126
   primitives.py61493%68, 82, 94, 232
   utils.py99891%66, 93, 105, 115–116, 207–208, 211
utils
   __init__.py00100% 
   general.py47295%25, 47
   knowledge.py1522086%91, 122, 163–168, 170–171, 174–178, 209–210, 252, 268, 331
   logging.py16568%24–27, 56
   motion.py70395%93–94, 96
   polygon.py1110100% 
   pose.py1120100% 
   search_graph.py93396%239–241
   trajectory.py67297%130, 167
TOTAL453266485% 

Tests Skipped Failures Errors Time
200 0 💤 0 ❌ 0 🔥 3m 31s ⏱️

@kumar-sanjeeev
Copy link
Contributor

One observation before recommending building docs in the Docker container: I mounted the docs inside the container and installed pyrobosim locally using pip install -e . inside container

The drawback:
Even though the source code is mounted in the container, changes won't reflect until I reinstall it locally (local installation takes precedence). Previously, local changes reflected immediately in the container.

@sea-bass
Copy link
Owner Author

sea-bass commented Dec 7, 2024

One observation before recommending building docs in the Docker container: I mounted the docs inside the container and installed pyrobosim locally using pip install -e . inside container

The drawback: Even though the source code is mounted in the container, changes won't reflect until I reinstall it locally (local installation takes precedence). Previously, local changes reflected immediately in the container.

I think this has to do with mismatch between installing with pip install vs. with colcon build, as those are 2 separate installation targets.

The default container being used is the ROS workflow, so I imagine that the colcon build form of installing takes precedence.

I think a better long term solution is to have the option of starting separate containers for with/without ROS (which already exist, they're just not both built). So then people can just start the "no ROS" container and the only installation is the one that happens through pip install -e

@kumar-sanjeeev
Copy link
Contributor

Okay understood.

@sea-bass sea-bass merged commit e35272f into main Dec 7, 2024
6 checks passed
@sea-bass sea-bass deleted the docs-in-docker branch December 7, 2024 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants