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

[roboteam_ai] Improve workflow with new docker structure #97

Merged
merged 6 commits into from
Nov 7, 2023
Merged

Conversation

tollsimy
Copy link
Contributor

@tollsimy tollsimy commented Oct 4, 2023

Improve workflow with new docker structure, see docker/README.md

supertom01 and others added 3 commits October 2, 2023 22:13
It does not make sense to generate doxygen documentation for a PR. You only want to have documentation available for the current main branch. This can simply be updated on a push to the main branch.
@tollsimy tollsimy self-assigned this Oct 4, 2023
@JornJorn
Copy link
Contributor

Very nice 👍 , this will for sure make life a bit easier (software installation speedrun next transfer moment)

I would add the installation to the readme as well (https://docs.docker.com/engine/install/ or https://docs.docker.com/engine/install/ubuntu/ and https://docs.docker.com/engine/install/linux-postinstall/)

And the typo in the readme, docker compose instead of docker-compose

In the game docker there still is secondary ai and autoref which we don't need during a game/demo

@tollsimy
Copy link
Contributor Author

Fixed

@emielsteerneman
Copy link
Member

I'm not entirely convinced by this PR. Please correct me if I'm wrong

  • It seems like we lose the ability to simply pull the image and run our software.
  • Is the only difference between the Development target and the Release target now that the Release target comes without the source for protobuf?

The Dockerfile was initially written with the intent of having the Development target as one that could be pulled and hooked into with e.g. VSCode, and the Release target as a small as possible image for simple deployment, also for Windows machines. It seems that it has lost this structure, which is not bad per se, but I don't fully understand what is gained with this PR

@emielsteerneman emielsteerneman changed the title Improve workflow with new docker structure [roboteam_ai] Improve workflow with new docker structure Oct 30, 2023
@tollsimy
Copy link
Contributor Author

I'm not entirely convinced by this PR. Please correct me if I'm wrong

* It seems like we lose the ability to simply pull the image and run our software.

* Is the only difference between the `Development` target and the `Release` target now that the `Release` target comes without the source for protobuf?

The Dockerfile was initially written with the intent of having the Development target as one that could be pulled and hooked into with e.g. VSCode, and the Release target as a small as possible image for simple deployment, also for Windows machines. It seems that it has lost this structure, which is not bad per se, but I don't fully understand what is gained with this PR

We are not loosing any of the previous features, release container is still built and pushed on dockerhub as before (roboteamtwente/roboteam).
As you mentioned the difference between release and development is actually small and it consist mainly on development packages and headers in order to reduce what actually takes more space. The release container takes 875MB, it could be stripped down more but it is not necessary. We are also thinking about releasing self-contained binaries and this could for sure cover that issue in the best way possible.

Answering your second question, what we gain with this PR a definitely faster workflow for development as well as a reliable and reproducible environment that allows developers to build and test with a higher level of abstraction without loosing transparency or loosing the ability to execute manual grunt tasks.
Moreover, the new dockerfile is developed considering the new simulator and game compose structures that allow to stack multiple services increasing ease of use, isolation, reliability and facilitating integration of different services.

@luukieboy luukieboy merged commit 15ae368 into main Nov 7, 2023
3 checks passed
@JornJorn JornJorn deleted the docker branch May 1, 2024 07:23
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.

5 participants