-
Notifications
You must be signed in to change notification settings - Fork 15
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
Add Dev Container #233
Add Dev Container #233
Conversation
We probably should store our dependencies in image, since they are not updating that frequently to speed up codespaces/local image builds. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Looks cool! I'll check this out next week |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty cool, really. Especially debugging-in-docker and run in one click. Here are a few improvements proposals and we should provide an updated README for frontends.
.devcontainer/Dockerfile
Outdated
|
||
RUN apt-get -y update && apt-get install -y ffmpeg | ||
|
||
# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like include deps into image is a good idea. We change them not so often.
@@ -103,8 +103,6 @@ venv.bak/ | |||
# mypy | |||
.mypy_cache/ | |||
|
|||
#vscode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe we can exclude only launch.json
and tasks.json
from .gitignoge
. Personal setting should be ignored.
@egregors I disagree that we should exclude |
Mine does ¯_(ツ)_/¯ |
Can you provide example what's in your project settings? |
|
Fair enough. Mine contains pyPath as well. :// |
@egregors @C-Pro Well, I don't like absolute paths relative to local system, probably something like pipenv/venv/etc would be better. But there's not much we can do now. Maybe later we can focus on enhancing process of development without Dev Container, but for now I have found a solution to use settings json specific to container - https://github.com/microsoft/vscode-dev-containers/blob/main/containers/go/.devcontainer/devcontainer.json#L17 . So we can safely put |
BTW I did not set this path manually. It is changed everytime I select interpreter in vscode via dropdown menu on the bottom. |
@C-Pro Ye, that is probably not a best place to store interpreter by vscode 🤷♂️ |
@egregors it seems like no fix to me currently. We should probably somehow remove last line, where we start bot from dev |
Sure, let's talk about it after NY :D :D I believe we could extract it subtask into a separate issue. Anyway, your fixes looks grate! I gonna test it locally, just to be sure, and will merge it. |
@egregors there are a bit work still left, i accidentally commited junk comments, so probably we should merge after NY🌚🌚 |
@egregors Ye that's probably all. I also added new extension by Microsoft, but we can add it later maybe |
Dev Container open up a whole new world of possibilities:
There are also task and launch target defined for VS Code, so that environment is kinda complete, you just start vs code open dev container from source, click run and boom, everything just works (including debugging, and lint and stuff 🔥)
We can probably continue to improve that environment in the future (like for example when we can use Python 3.10 #221).
Before merge:
make help
error.gitignore
(ignore whole./vscode
exclude required for devcontainer)Next iteration: #237