facebookincubator / cinder

Cinder is Meta's internal performance-oriented production version of CPython.
https://trycinder.com
Other
3.43k stars 122 forks source link

Created a Dockerfile for Fedora 32 #3

Closed zitterbewegung closed 3 years ago

zitterbewegung commented 3 years ago

Created a Dockerfile using Fedora32 to aid development with cython compatibility and general development ergonomics

facebook-github-bot commented 3 years ago

Hi @zitterbewegung!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

facebook-github-bot commented 3 years ago

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

facebook-github-bot commented 3 years ago

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

mpage commented 3 years ago

Thanks for the PR! Can you give us more information about the use case for this? (i.e. Is the intent to drop the user into a container with the repo for development?)

facebook-github-bot commented 3 years ago

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

ulgens commented 3 years ago

Why Fedora? I think it would be much better if we use same base image with official Python docker images, which are buster, alpine or Windows server core. Also, no need to git clone when Dockerfile is in the same repo with the code itself.

Conan-Kudo commented 3 years ago

Why Fedora? I think it would be much better if we use same base image with official Python docker images, which are buster, alpine or Windows server code. Also, no need to git clone when Dockerfile is in the same repo with the code itself.

Fedora is the platform used for Facebook projects these days. Also note that Fedora is the ultimate upstream for the platform used for manylinux, so it's valuable to use it as the platform.

zitterbewegung commented 3 years ago

Why Fedora? I think it would be much better if we use same base image with official Python docker images, which are buster, alpine or Windows server core. Also, no need to git clone when Dockerfile is in the same repo with the code itself.

Fedora was in the Readme as the only distribution that cinder was verified to work on. I will remove the git clone change.

zitterbewegung commented 3 years ago

Thanks for the PR! Can you give us more information about the use case for this? (i.e. Is the intent to drop the user into a container with the repo for development?)

Yes, it would drop someone in the repo for the environment easily for development since not everyone us running the specific version of Fedora.

jbower-fb commented 3 years ago

Sorry I'm a bit late to the party here. We actually already have a Docker spec file in .github/workflows/python-build-env/Dockerfile and even a pre-made image you can download/pull from https://ghcr.io/facebookincubator/cinder/python-build-env:latest. I think it's better we stick to just these. The existing setup has the advantage of being exercised by the CI so we can easily catch regressions (indeed, it's broken right now so I'll be taking a look at that).

I appreciate the above probably wasn't obvious, so I've updated the README.rst in 90ba5f61b579eb2536bc698dd38572a724bf6d98 to explain how to use these resources. If you follow the new instructions literally you'll also find you can share your Cinder checkout on your host's filesystem with the Docker container. This means you can poke around the source with the normal tools in your host environment without having to sync a container.

Although I'm closing this PR, I hope you get your intended end result of a more ergonomic dev setup for Cinder.