carla icon indicating copy to clipboard operation
carla copied to clipboard

Docker Compose UE4Editor

Open Bonifatius94 opened this issue 1 year ago • 1 comments

Description

This PR adds support for a lightweight, dockerized, ui-supported UE4Editor setup, meaning you can locally check out your Git repo on your host machine, then use "make launch" within the GPU-supported build environment inside the Docker container such that the UE4Editor shows up as if it was running on the host OS. Additionally, it should be a lot easier to set up the build toolchain without having to bloat the host OS with tools. It just requires Docker and Git.

Moreover, the changes simplify the Docker build by making Carla.Dockerfile a multi-stage image (including the parts of Release.Dockerfile as runtime stage). This is particularly useful because you don't need to "make package" and then build the Release.Dockerfile copied to the build output again. Now, you get a deployable Docker image right away when building Carla.Dockerfile. Additionally, the Carla.Dockerfile uses the locally checked out Git repository on the host OS instead of cloning the repo again inside the Docker container during image build. This behavior feels much more like a usual Docker workflow.

And some minor changes were also made to Update.sh regarding a speed-up for downloading and unzipping the Content tar archive at the same time using pipe. That way the tar archive never hits the disk and it should be faster after all.

Checklist:

  • [x] Your branch is up-to-date with the dev branch and tested with latest changes
  • [x] Extended the README / documentation, if necessary
  • [x] Code compiles correctly
  • [ ] All tests passing with make check (only Linux)
  • [ ] If relevant, update CHANGELOG.md with your changes

Tests seem to be broken. I didn't change anything in the code, though. Just added some Docker / bash scripts. Maybe your dev branch is broken atm.

[----------] Global test environment tear-down
[==========] 37 tests from 8 test cases ran. (37868 ms total)
[  PASSED  ] 36 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] benchmark_streaming.image_1920x1080_mt

Where has this been tested?

  • Platform(s): Ubuntu 18.04 / Docker
  • Python version(s): Python 3.7
  • Unreal Engine version(s): UE4.26

Possible Drawbacks

No side-effects. It's just Docker changes and Update.sh was made a bit more efficient. The "make package" build output slightly changed because the Dockerfile (Release.Dockerfile) was removed.


This change is Reviewable

Bonifatius94 avatar Sep 12 '22 23:09 Bonifatius94

Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would update our CHANGELOG.md based on your changes.

update-docs[bot] avatar Sep 12 '22 23:09 update-docs[bot]

Hey @nsubiron @bernatx @marcgpuig, do you want my Docker build system to be merged or not? I'm living in Augsburg, so we could even meet within an hour and talk in person if you want :joy:

Bonifatius94 avatar Oct 04 '22 10:10 Bonifatius94

Great work, I have been struggling with this for the past weeks.

AlaaAlassi avatar Jan 06 '23 09:01 AlaaAlassi

Great work, I have been struggling with this for the past weeks.

Thanks for your appreciation. It took me half a year to create this and I didn't even change a single code file. It was just a couple hundred lines of bash scripts. This is insanity. I cannot imagine how anyone can work with this codebase at all :sweat_smile:

And btw, CARLA's build tool setup script broke after some weeks because some vendor took down his tarball by incrementing the point release package version by 1, so the URL in the build tools setup points to nothing. I don't know if someone already fixed it.

This whole build tooling is a giant mess. I regret every second I spent creating my scripts (only continued to pass a university assignment). But at least you find it useful, so maybe it's not totally wasted.

Bonifatius94 avatar Jan 06 '23 14:01 Bonifatius94

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jun 01 '23 16:06 stale[bot]