Create devcontainer for quick dev setups

This commit is contained in:
Cosmin Ștefan Ciocan
2024-01-13 00:46:30 +00:00
parent 0601610905
commit e392fc382b
3 changed files with 52 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
FROM ubuntu
ARG VENV_PATH=/opt/dev-venv
ENV VENV_ACTIVATE=${VENV_PATH}/bin/activate
RUN apt update
RUN apt install -y python3.10-venv nvidia-cuda-toolkit gcc vim git
# the mkdir command bypasses a profiler error, which allows us to run it with
# host code only to at least check that the profiler parameters are correctly
# provided; without this line, some tests will fail
RUN mkdir -p /usr/lib/x86_64-linux-gnu/nsight-compute/sections
# we create the virtualenv here so that the devcontainer.json setting
# python.defaultInterpreterPath can be used to find it; if we do it in the
# post_create.sh script, the virtualenv will not be loaded and features like
# pylance, black, isort, etc. will not work
RUN python3.10 -m venv ${VENV_PATH}
RUN echo "source ${VENV_ACTIVATE}" >> ~/.bashrc
+26
View File
@@ -0,0 +1,26 @@
{
"name": "Python Environment",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"postCreateCommand": "bash .devcontainer/post_create.sh",
"customizations": {
"vscode": {
"extensions": [
"editorconfig.editorconfig",
"ms-azuretools.vscode-docker",
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.pylint",
"ms-python.isort",
"ms-python.flake8",
"ms-python.black-formatter",
"ryanluker.vscode-coverage-gutters"
],
"settings": {
"python.defaultInterpreterPath": "/opt/dev-venv/bin/python"
}
}
}
}
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
# install developer dependencies
pip install .[dev]
# make sure the developer uses pre-commit hooks
pre-commit install