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

[Feature]: Execute catkin_make on docker compose up #420

Closed
2 tasks
vinzenzm opened this issue Nov 1, 2024 · 4 comments · Fixed by #497
Closed
2 tasks

[Feature]: Execute catkin_make on docker compose up #420

vinzenzm opened this issue Nov 1, 2024 · 4 comments · Fixed by #497
Labels
infrastructure Docker, Project setup, ...

Comments

@vinzenzm
Copy link
Collaborator

vinzenzm commented Nov 1, 2024

Description

Currently it is not possible to write cpp code (Nodes or RVIZ-Panels), and be able to use it without either:
1 . rebuilding the entire agent
or 2. opening a shell with the running agent, navigating into catkin_ws and executing catkin_make manually

As I myself doesnt have to much knowledge about docker maybe an expert can give more insight about possible solutions.

This came up in #419.

We should take into consideration that this might not be always wanted for a speedy startup of the leaderboard simulation.

An easy way would be to add it to "entrypoint.sh", but this might not be wanted.

Definition of Done

  • Thought and decided on a good solution to execute catkin_make if the user wishes
  • Implement the solution
@ll7
Copy link
Member

ll7 commented Nov 7, 2024

Can you help me understand what is insufficient with the catkin make during the docker build phase?

# Link code into catkin workspace
RUN ln -s /workspace/code /catkin_ws/src
# re-make the catkin workspace
RUN source /opt/ros/noetic/setup.bash && catkin_make

@vinzenzm
Copy link
Collaborator Author

vinzenzm commented Nov 7, 2024

For python scripts no rebuilding is needed after a file is changed. However for cpp nodes catkin_make needs to compile the code for new changes to apply. This is important if we plan to implement our own rviz/rqt panels, such as in #419.
Also if we want to define our own message or service types calling catkin_make is necessary.

@vinzenzm
Copy link
Collaborator Author

vinzenzm commented Nov 8, 2024

With 8694e5e I added a vscode task to the .vscode folder which can be executed when docker container is running.
When running the task (f1-task-runtask) the user needs to select the appropriate container by its name.
I implemented two version. One of them requires a new vs-code-extension but is able to generate the docker-container list automatically. With the second one the user needs to type in the container name, which is defaulted to 'build-agent-dev-1'. The naming however might be different on different machines. This might be uncomfortable to use.

Is it ok to add a new Extension to the recommendations? Should we merge both versions into main, or should we decide on one option?

@ll7
Copy link
Member

ll7 commented Nov 11, 2024

  1. You can add new Extensions. This is your project.
  2. Solve this to your convenience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Docker, Project setup, ...
Projects
Status: ✅ Done
Development

Successfully merging a pull request may close this issue.

2 participants