From b66fc019e92e992d1cd03fea7cf4eb53d2aa9bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oleksis=20Fraga=20Men=C3=A9ndez?= Date: Sun, 20 Nov 2022 22:08:16 -0500 Subject: [PATCH 1/3] Add devcontainer/features for use Codespaces - Install [act](https://github.com/dhoeric/features/tree/main/src/act#reference) - run github action locally - Features like black, flake8 , docker-in-docker --- .devcontainer/devcontainer.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..2b5b16dcb --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,25 @@ +{ + "name": "Python 3", + "image": "mcr.microsoft.com/devcontainers/python:3.9", + "features": { + "ghcr.io/devcontainers/features/node:1": { + "version": "latest" + }, + "ghcr.io/devcontainers-contrib/features/black:1": {}, + "ghcr.io/devcontainers-contrib/features/flake8:1": {}, + "ghcr.io/devcontainers/features/docker-in-docker:1": {}, + "ghcr.io/dhoeric/features/act:1": {} + } + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "pip3 install --user -r requirements.txt", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} From e99809e0f944f41bf6916cefe9b623659f2e584c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oleksis=20Fraga=20Men=C3=A9ndez?= Date: Mon, 21 Nov 2022 06:38:04 -0500 Subject: [PATCH 2/3] Add the basic requirement for development autopep8, isort, flake8, pytest --- .devcontainer/devcontainer.json | 34 +++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 2b5b16dcb..fc9520cc9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,21 +5,43 @@ "ghcr.io/devcontainers/features/node:1": { "version": "latest" }, - "ghcr.io/devcontainers-contrib/features/black:1": {}, "ghcr.io/devcontainers-contrib/features/flake8:1": {}, - "ghcr.io/devcontainers/features/docker-in-docker:1": {}, - "ghcr.io/dhoeric/features/act:1": {} - } + "ghcr.io/devcontainers-contrib/features/isort:1": {} +// "ghcr.io/devcontainers-contrib/features/black:1": {}, +// "ghcr.io/devcontainers/features/docker-in-docker:1": {}, +// "ghcr.io/dhoeric/features/act:1": {} + }, + + // Set *default* container specific settings.json values on container create. + "settings": { + "python.pythonPath": "/usr/local/bin/python", + "python.linting.enabled": true, + "python.linting.pylintEnabled": true, + "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", + "python.formatting.blackPath": "/usr/local/py-utils/bin/black", + "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", + "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", + "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", + "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", + "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", + "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", + "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-python.python" + ], // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "pip3 install --user -r requirements.txt", + "postCreateCommand": "pip install pytest pycryptodomex", // Configure tool-specific properties. // "customizations": {}, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" + "remoteUser": "vscode" } From 99e431e4a0bdcd81497c2dff67aeb6ce38253ca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oleksis=20Fraga=20Men=C3=A9ndez?= Date: Sun, 4 Dec 2022 03:11:14 -0500 Subject: [PATCH 3/3] Add pylance extensions tool postCreateCommand install requirements.txt Use the Docker image `python:3.10-bullseye` in development --- .devcontainer/devcontainer.json | 55 +++++++++++++++++---------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index fc9520cc9..e00bcd38d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,10 +1,7 @@ { "name": "Python 3", - "image": "mcr.microsoft.com/devcontainers/python:3.9", + "image": "mcr.microsoft.com/devcontainers/python:3.10-bullseye", "features": { - "ghcr.io/devcontainers/features/node:1": { - "version": "latest" - }, "ghcr.io/devcontainers-contrib/features/flake8:1": {}, "ghcr.io/devcontainers-contrib/features/isort:1": {} // "ghcr.io/devcontainers-contrib/features/black:1": {}, @@ -12,35 +9,39 @@ // "ghcr.io/dhoeric/features/act:1": {} }, - // Set *default* container specific settings.json values on container create. - "settings": { - "python.pythonPath": "/usr/local/bin/python", - "python.linting.enabled": true, - "python.linting.pylintEnabled": true, - "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", - "python.formatting.blackPath": "/usr/local/py-utils/bin/black", - "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", - "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", - "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", - "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", - "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", - "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", - "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" - }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "ms-python.python" - ], - // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "pip install pytest pycryptodomex", + "postCreateCommand": "python -m pip install --user --disable-pip-version-check pytest -r requirements.txt", // Configure tool-specific properties. - // "customizations": {}, + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": { + "python.defaultInterpreterPath": "/usr/local/bin/python", + "python.linting.enabled": true, + "python.linting.pylintEnabled": true, + "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", + "python.formatting.blackPath": "/usr/local/py-utils/bin/black", + "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", + "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", + "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", + "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", + "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", + "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", + "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance" + ] + } + }, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. "remoteUser": "vscode"