Skip to content

Commit

Permalink
DX: Add devcontainer configs for "Python generic" and "Default" (#34032)
Browse files Browse the repository at this point in the history
  • Loading branch information
aaronsteers authored Apr 22, 2024
1 parent 54b0a7b commit dfc933a
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 2 deletions.
70 changes: 70 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
{
"name": "Java Development DevContainer (Generic)",
"image": "mcr.microsoft.com/devcontainers/java:0-17",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker": {},
"ghcr.io/devcontainers/features/java:1": {
"installGradle": true,
"version": "latest",
"jdkDistro": "open",
"gradleVersion": "7.5.1"
},
// Python needed for `airbyte-ci` CLI
"ghcr.io/devcontainers/features/python:1": {
"installGradle": true,
"version": "3.10",
"installTools": true
},
"ghcr.io/devcontainers-contrib/features/poetry:2": {}
},
// Deterministic order reduces cache busting
"overrideFeatureInstallOrder": [
"ghcr.io/devcontainers/features/docker-in-docker",
"ghcr.io/devcontainers/features/java",
"ghcr.io/devcontainers/features/python",
"ghcr.io/devcontainers-contrib/features/poetry"
],
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
// Python extensions:
"charliermarsh.ruff",
"matangover.mypy",
"ms-python.python",
"ms-python.vscode-pylance",
// Toml support
"tamasfe.even-better-toml",
// Yaml and JSON Schema support:
"redhat.vscode-yaml",
// Contributing:
"GitHub.vscode-pull-request-github",
// General AI Auto-Complete (Python and Java)
"VisualStudioExptTeam.vscodeintellicode",
// Gradle and Java
"redhat.java",
"vscjava.vscode-gradle",
"vscjava.vscode-java-debug",
"vscjava.vscode-java-test",
"vscjava.vscode-java-dependency"
],
"settings": {
"extensions.ignoreRecommendations": true,
"git.openRepositoryInParentFolders": "always"
}
}
},
// Mark the root directory as 'safe' for git.
"initializeCommand": "git config --add safe.directory /workspaces/airbyte",
// Install Gradle, `airbyte-ci` CLI, and Dagger (installed via airbyte-ci --help)
"postCreateCommand": "make tools.airbyte-ci-dev.install",
"containerEnv": {
// Deterministic Poetry virtual env location: `./.venv`
"POETRY_VIRTUALENVS_IN_PROJECT": "true"
}
// Override to change the directory that the IDE opens by default:
// "workspaceFolder": "/workspaces/airbyte"
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
4 changes: 2 additions & 2 deletions .devcontainer/java-connectors-generic/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@
// Mark the root directory as 'safe' for git.
"initializeCommand": "git config --add safe.directory /workspaces/airbyte",

// Install Gradle, `airbyte-ci` CLI, and Dagger (installed via airbyte-ci --help)
"postCreateCommand": "./gradlew --version && pipx install --editable ./airbyte-ci/connectors/pipelines/ || airbyte-ci --help || true",
// Install `airbyte-ci` and Gradle
"postCreateCommand": "make tools.airbyte-ci-dev.install && ./gradlew --version",

"containerEnv": {
// Deterministic Poetry virtual env location: `./.venv`
Expand Down

0 comments on commit dfc933a

Please sign in to comment.