Create an intermediate Docker container for building wheels, also add requests to final image#4041
Create an intermediate Docker container for building wheels, also add requests to final image#4041tardyp merged 3 commits intobuildbot:masterfrom rodrigc:docker
Conversation
|
@kallisti5 I have tried to fix your problem with requests in the Docker image in a slightly different way. Can you try out my branch, build the Docker image, and report back? Do this: |
Codecov Report
@@ Coverage Diff @@
## master #4041 +/- ##
=======================================
Coverage 88.55% 88.55%
=======================================
Files 326 326
Lines 34330 34330
=======================================
Hits 30402 30402
Misses 3928 3928Continue to review full report at Codecov.
|
|
|
nevermind, upgraded from stock Fedora docker to Docker CE. Testing... |
|
Seems to work locally (at least I don't get missing imports now). I can't test much further on the production server since FROM * AS requires a later version of Docker than 1.13.1. Unable to test the actual oauth to 127.0.0.1 since everything rightfully freaks out. |
|
@kallisti5 can you:
I'd like to get additional feedback, to see if there are other fixes we can do to make this image more usable out of the box. |
|
We have to make this work on docker-hub, as this is our way to build official docker image. Can you make sure of that? |
|
Dockerhub can only accept a single Dockerfile as input. I got it to work on Dockerhub: https://hub.docker.com/r/rodrigc6/buildbot/builds/bf2tmscmxx5tgohcgm5gedx/ |
|
@kallisti5 See: https://hub.docker.com/r/rodrigc6/buildbot/ , If you have time, please do: docker pull rodrigc6/buildbot, |
|
Thanks! I tried it locally and it doesn't seem to internally expose 80 anymore for the web interface? Buildbot: buildbot:
# image: buildbot/buildbot-master:v1.1.0
image: rodrigc6/buildbot
hostname: buildbot
restart: on-failure
volumes:
- buildbot_config:/var/lib/buildbot:z
- ./data/buildbot/master.cfg:/var/lib/buildbot/master.cfg:z
ports:
- '0.0.0.0:9989:9989'Pootle (another service from our docker-compose) pootle:
image: nielx/pootle:2.7
restart: on-failure
volumes:
- pootle_data:/var/pootle:z
depends_on:
- postgres
- redis
- smtp |
|
actually, it should always be exposed internally... maybe something else is going on. sec. |
|
Yeah. It seems to be working after I tore down all our containers and restarted them... however there also seems to be a bug in the GitHub auth plugin. I'm pretty sure something else is going on here. I don't see any more references to missing python modules however. (which means this change worked!) :-D |
|
Great! Thanks for the feedback. If you have the time, please debug a little bit regarding Github auth and provide feedback. There is a working instance of Github auth at https://nine.buildbot.net , so it would be good to narrow down whether there is a problem with the Docker image, or your config/setup. Thanks!! |
|
We have a pretty huge master.cfg that has been maintained since the early days of buildbot. https://github.com/haiku/infrastructure/blob/master/data/buildbot/master.cfg#L498 Maybe it is the Github API v4 stuff? (testing now) |
|
Ah. Nope. Didn't like my util.Secrets. I paste in the auth string directly and get another error: Guessing that is related to API v4 |
|
anyway I'm getting off topic. The container provided works as expected: I'll look into the remaining github auth issues and open a bug report with details :-) |
|
@kallisti5 Great! Can you just confirm that you solved the GitHub oauth problem independently of the Docker image that I provided you, and the only that I provided was the requests module in the image? Glad to see Buildbot used by the Haiku project! |
…ot-build" container. We then copy the binary wheels into the final buildbot container. This allows us to avoid installing build tools like gcc in the final container.
|
@tardyp I confirmed this works on Dockerhub: https://hub.docker.com/r/rodrigc6/buildbot/ |
|
Just a small follow up. The 1.1.2 docker image's github plug is loading just fine as expected. :-) |
Contributor Checklist:
master/buildbot/newsfragmentdirectory (and read theREADME.txtin that directory)Fixes #4039 #4040