diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2672288..8eec767 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,6 +1,9 @@ name: "(Release) Release dev container features (v2)" on: workflow_dispatch: + push: + branches: + - main jobs: deploy: diff --git a/src/aws-cli/devcontainer-feature.json b/src/aws-cli/devcontainer-feature.json index 2f4e052..dbefd53 100644 --- a/src/aws-cli/devcontainer-feature.json +++ b/src/aws-cli/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "aws-cli", - "version": "1.0.0", + "version": "1.0.1", "name": "AWS CLI", "description": "Installs the AWS CLI along with needed dependencies. Useful for base Dockerfiles that often are missing required install dependencies like gpg.", "options": { @@ -13,7 +13,11 @@ "description": "Select or enter an AWS CLI version. (Available versions here: https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst)" } }, - "extensions": [ - "AmazonWebServices.aws-toolkit-vscode" - ] + "customizations": { + "vscode": { + "extensions": [ + "AmazonWebServices.aws-toolkit-vscode" + ] + } + } } diff --git a/src/azure-cli/devcontainer-feature.json b/src/azure-cli/devcontainer-feature.json index db4eadb..20425dd 100644 --- a/src/azure-cli/devcontainer-feature.json +++ b/src/azure-cli/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "azure-cli", - "version": "1.0.0", + "version": "1.0.1", "name": "Azure CLI", "description": "Installs the Azure CLI along with needed dependencies. Useful for base Dockerfiles that often are missing required install dependencies like gpg.", "options": { @@ -13,7 +13,11 @@ "description": "Select or enter an Azure CLI version. (Available versions may vary by Linux distribution.)" } }, - "extensions": [ - "ms-vscode.azurecli" - ] + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.azurecli" + ] + } + } } diff --git a/src/common-utils/devcontainer-feature.json b/src/common-utils/devcontainer-feature.json index bd9ea94..1233bff 100644 --- a/src/common-utils/devcontainer-feature.json +++ b/src/common-utils/devcontainer-feature.json @@ -1,7 +1,7 @@ { "id": "common-utils", "name": "Common Debian Utilities", - "version": "1.0.1", + "version": "1.0.2", "description": "Installs a set of common command line utilities, Oh My Zsh!, and sets up a non-root user.", "options": { "installZsh": { @@ -54,7 +54,11 @@ "description": "Add packages from non-free Debian repository?" } }, - "extensions": [ - "ms-dotnettools.csharp" - ] + "customizations": { + "vscode": { + "extensions": [ + "ms-dotnettools.csharp" + ] + } + } } diff --git a/src/docker-from-docker/devcontainer-feature.json b/src/docker-from-docker/devcontainer-feature.json index 6bf3929..a1c2a49 100644 --- a/src/docker-from-docker/devcontainer-feature.json +++ b/src/docker-from-docker/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "docker-from-docker", - "version": "1.0.1", + "version": "1.0.2", "name": "Docker (Docker-from-Docker)", "descripton": "Re-use the host docker socket, adding the Docker CLI to a container. Feature invokes a script to enable using a forwarded Docker socket within a container to run Docker commands.", "options": { @@ -33,9 +33,13 @@ "containerEnv": { "DOCKER_BUILDKIT": "1" }, - "extensions": [ - "ms-azuretools.vscode-docker" - ], + "customizations": { + "vscode": { + "extensions": [ + "ms-azuretools.vscode-docker" + ] + } + }, "mounts": [ { "source": "/var/run/docker.sock", diff --git a/src/docker-in-docker/devcontainer-feature.json b/src/docker-in-docker/devcontainer-feature.json index 0251b9a..b420566 100644 --- a/src/docker-in-docker/devcontainer-feature.json +++ b/src/docker-in-docker/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "docker-in-docker", - "version": "1.0.1", + "version": "1.0.2", "name": "Docker (Docker-in-Docker)", "description": "Create child containers *inside* a container, independent from the host's docker instance. Installs Docker extension in the container along with needed CLIs.", "options": { @@ -34,9 +34,13 @@ "containerEnv": { "DOCKER_BUILDKIT": "1" }, - "extensions": [ - "ms-azuretools.vscode-docker" - ], + "customizations": { + "vscode": { + "extensions": [ + "ms-azuretools.vscode-docker" + ] + } + }, "mounts": [ { "source": "dind-var-lib-docker", diff --git a/src/dotnet/devcontainer-feature.json b/src/dotnet/devcontainer-feature.json index 5e11f11..4c6f9d5 100644 --- a/src/dotnet/devcontainer-feature.json +++ b/src/dotnet/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "dotnet", - "version": "1.0.1", + "version": "1.0.2", "name": "Dotnet CLI", "description": "Installs the .NET CLI. Provides option of installing sdk or runtime, and option of versions to install. Uses latest version of .NET sdk as defaults to install.", "options": { @@ -30,7 +30,11 @@ "DOTNET_ROOT": "/usr/local/dotnet/current", "PATH": "${PATH}:${DOTNET_ROOT}" }, - "extensions": [ - "ms-dotnettools.csharp" - ] + "customizations": { + "vscode": { + "extensions": [ + "ms-dotnettools.csharp" + ] + } + } } diff --git a/src/go/devcontainer-feature.json b/src/go/devcontainer-feature.json index 6228090..a0f37df 100644 --- a/src/go/devcontainer-feature.json +++ b/src/go/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "go", - "version": "1.0.0", + "version": "1.0.1", "name": "Go", "description": "Installs Go and common Go utilities. Auto-detects latest version and installs needed dependencies.", "options": { @@ -17,9 +17,13 @@ } }, "init": true, - "extensions": [ - "golang.Go" - ], + "customizations": { + "vscode": { + "extensions": [ + "golang.Go" + ] + } + }, "containerEnv": { "GOPATH": "/usr/local/go", "PATH": "${GOPATH}/bin:${PATH}" diff --git a/src/java/devcontainer-feature.json b/src/java/devcontainer-feature.json index e95fe72..a67ca2f 100644 --- a/src/java/devcontainer-feature.json +++ b/src/java/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "java", - "version": "1.0.2", + "version": "1.0.3", "name": "Java (via SDKMAN!)", "description": "Installs Java, SDKMAN! (if not installed), and needed dependencies.", "options": { @@ -28,16 +28,20 @@ } }, "buildArg": "_VSC_INSTALL_JAVA", - "extensions": [ - "vscjava.vscode-java-pack" - ], + "customizations": { + "vscode": { + "extensions": [ + "vscjava.vscode-java-pack" + ], + "settings": { + "java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current" + } + } + }, "containerEnv": { "SDKMAN_DIR": "/usr/local/sdkman", "GRADLE_USER_HOME": "${HOME}/.gradle", "M2": "${HOME}/.m2", "PATH": "${SDKMAN_DIR}/bin:${SDKMAN_DIR}/candidates/java/current/bin:${SDKMAN_DIR}/candidates/gradle/current/bin:${SDKMAN_DIR}/candidates/maven/current/bin:${PATH}" - }, - "settings": { - "java.import.gradle.java.home": "/usr/local/sdkman/candidates/java/current" } } diff --git a/src/kubectl-helm-minikube/devcontainer-feature.json b/src/kubectl-helm-minikube/devcontainer-feature.json index 8c40c7f..45eaca3 100644 --- a/src/kubectl-helm-minikube/devcontainer-feature.json +++ b/src/kubectl-helm-minikube/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "kubectl-helm-minikube", - "version": "1.0.0", + "version": "1.0.1", "name": "Kubectl, Helm, and Minkube", "description": "Installs latest version of kubectl, Helm, and optionally minikube. Auto-detects latest versions and installs needed dependencies.", "options": { @@ -33,9 +33,13 @@ "description": "Select or enter a Minikube version to install" } }, - "extensions": [ - "ms-kubernetes-tools.vscode-kubernetes-tools" - ], + "customizations": { + "vscode": { + "extensions": [ + "ms-kubernetes-tools.vscode-kubernetes-tools" + ] + } + }, "mounts": [ { "source": "minikube-config", diff --git a/src/node/devcontainer-feature.json b/src/node/devcontainer-feature.json index 5576921..c50b612 100644 --- a/src/node/devcontainer-feature.json +++ b/src/node/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "node", - "version": "1.0.1", + "version": "1.0.2", "name": "Node.js (via nvm) and yarn", "description": "Installs Node.js, nvm, yarn, and needed dependencies.", "options": { @@ -28,9 +28,13 @@ "description": "The path where NVM will be installed." } }, - "extensions": [ - "dbaeumer.vscode-eslint" - ], + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint" + ] + } + }, "containerEnv": { "NVM_DIR": "/usr/local/share/nvm", "NVM_SYMLINK_CURRENT": "true", diff --git a/src/php/devcontainer-feature.json b/src/php/devcontainer-feature.json index 30d9002..21089a5 100644 --- a/src/php/devcontainer-feature.json +++ b/src/php/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "php", - "version": "1.0.1", + "version": "1.0.2", "name": "PHP", "options": { "version": { @@ -18,12 +18,16 @@ "description": "Install PHP Composer?" } }, - "extensions": [ - "xdebug.php-debug", - "bmewburn.vscode-intelephense-client", - "xdebug.php-pack", - "devsense.phptools-vscode" - ], + "customizations": { + "vscode": { + "extensions": [ + "xdebug.php-debug", + "bmewburn.vscode-intelephense-client", + "xdebug.php-pack", + "devsense.phptools-vscode" + ] + } + }, "containerEnv": { "PHP_PATH": "/usr/local/php/current", "PATH": "${PHP_PATH}/bin:${PATH}" diff --git a/src/python/devcontainer-feature.json b/src/python/devcontainer-feature.json index 5ca1144..329d85a 100644 --- a/src/python/devcontainer-feature.json +++ b/src/python/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "python", - "version": "1.0.1", + "version": "1.0.2", "name": "Python", "description": "Installs the provided version of Python, as well as PIPX, and other common Python utilities. JupyterLab is conditionally installed with the python feature. Note: May require source code compilation.", "options": { @@ -51,20 +51,24 @@ "PIPX_BIN_DIR": "/usr/local/py-utils/bin", "PATH": "${PYTHON_PATH}/bin:${PATH}:${PIPX_BIN_DIR}" }, - "extensions": [ - "ms-python.python", - "ms-python.vscode-pylance" - ], - "settings": { - "python.defaultInterpreterPath": "/usr/local/bin/python", - "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" + "customizations": { + "vscode": { + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance" + ], + "settings": { + "python.defaultInterpreterPath": "/usr/local/bin/python", + "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" + } + } } -} \ No newline at end of file +} diff --git a/src/ruby/devcontainer-feature.json b/src/ruby/devcontainer-feature.json index b19320f..9407992 100644 --- a/src/ruby/devcontainer-feature.json +++ b/src/ruby/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "ruby", - "version": "1.0.0", + "version": "1.0.1", "name": "Ruby (via rvm)", "description": "Installs Ruby, rvm, rbenv, common Ruby utilities, and needed dependencies.", "options": { @@ -17,9 +17,13 @@ "description": "Select or enter a Ruby version to install" } }, - "extensions": [ - "rebornix.Ruby" - ], + "customizations": { + "vscode": { + "extensions": [ + "rebornix.Ruby" + ] + } + }, "containerEnv": { "GEM_PATH": "/usr/local/rvm/gems/default:/usr/local/rvm/gems/default@global", "GEM_HOME": "/usr/local/rvm/gems/default", diff --git a/src/rust/devcontainer-feature.json b/src/rust/devcontainer-feature.json index ddfe4ca..016e464 100644 --- a/src/rust/devcontainer-feature.json +++ b/src/rust/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "rust", - "version": "1.0.1", + "version": "1.0.2", "name": "Rust", "description": "Installs Rust, common Rust utilities, and their required dependencies", "options": { @@ -27,13 +27,24 @@ "description": "Select a rustup install profile." } }, - "extensions": [ - "vadimcn.vscode-lldb", - "mutantdino.resourcemonitor", - "rust-lang.rust-analyzer", - "tamasfe.even-better-toml", - "serayuzgur.crates" - ], + "customizations": { + "vscode": { + "extensions": [ + "vadimcn.vscode-lldb", + "mutantdino.resourcemonitor", + "rust-lang.rust-analyzer", + "tamasfe.even-better-toml", + "serayuzgur.crates" + ], + "settings": { + "lldb.executable": "/usr/bin/lldb", + "files.watcherExclude": { + "**/target/**": true + }, + "rust-analyzer.checkOnSave.command": "clippy" + } + } + }, "containerEnv": { "CARGO_HOME": "/usr/local/cargo", "RUSTUP_HOME": "/usr/local/rustup", @@ -44,12 +55,5 @@ ], "securityOpt": [ "seccomp=unconfined" - ], - "settings": { - "lldb.executable": "/usr/bin/lldb", - "files.watcherExclude": { - "**/target/**": true - }, - "rust-analyzer.checkOnSave.command": "clippy" - } + ] } diff --git a/src/terraform/devcontainer-feature.json b/src/terraform/devcontainer-feature.json index f924070..dad34d3 100644 --- a/src/terraform/devcontainer-feature.json +++ b/src/terraform/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "terraform", - "version": "1.0.0", + "version": "1.0.1", "name": "Terraform, tflint, and TFGrunt", "description": "Installs the Terraform CLI and optionally TFLint and Terragrunt. Auto-detects latest version and installs needed dependencies.", "options": { @@ -33,15 +33,19 @@ "description": "Terragrunt version" } }, - "extensions": [ - "HashiCorp.terraform", - "ms-azuretools.vscode-azureterraform" - ], - "settings": { - "terraform.languageServer": { - "enabled": true, - "args": [] - }, - "azureTerraform.terminal": "integrated" + "customizations": { + "vscode": { + "extensions": [ + "HashiCorp.terraform", + "ms-azuretools.vscode-azureterraform" + ], + "settings": { + "terraform.languageServer": { + "enabled": true, + "args": [] + }, + "azureTerraform.terminal": "integrated" + } + } } }