From 9628123259be6a6b6e3a6bc51517f75ebd4fc7c5 Mon Sep 17 00:00:00 2001 From: Tasko Olevski Date: Wed, 13 Nov 2024 17:45:18 +0100 Subject: [PATCH 1/2] feat: add vscode frontend feature for new amalthea --- .github/workflows/test.yaml | 1 + src/vscode/README.md | 15 +++++++++++++++ src/vscode/devcontainer-feature.json | 14 ++++++++++++++ src/vscode/install.sh | 1 + test/vscode/scenarios.json | 8 ++++++++ test/vscode/ubuntu.sh | 15 +++++++++++++++ 6 files changed, 54 insertions(+) create mode 100644 src/vscode/README.md create mode 100644 src/vscode/devcontainer-feature.json create mode 100755 src/vscode/install.sh create mode 100644 test/vscode/scenarios.json create mode 100644 test/vscode/ubuntu.sh diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index e4856bd..77b7088 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -35,6 +35,7 @@ jobs: matrix: features: - renku + - vscode steps: - uses: actions/checkout@v3 diff --git a/src/vscode/README.md b/src/vscode/README.md new file mode 100644 index 0000000..7c17018 --- /dev/null +++ b/src/vscode/README.md @@ -0,0 +1,15 @@ + +# Renku CLI (renku) + +Installs vscode for running in Renku. + +## Example Usage + +```json +"features": { + "ghcr.io/SwissDataScienceCenter/devcontainer-features/vscode:1": {} +} +``` + +Note for developers: the version for the vscode-cli feature this depends on is +taken from https://github.com/microsoft/vscode/tags diff --git a/src/vscode/devcontainer-feature.json b/src/vscode/devcontainer-feature.json new file mode 100644 index 0000000..315e23c --- /dev/null +++ b/src/vscode/devcontainer-feature.json @@ -0,0 +1,14 @@ +{ + "name": "VSCode frontend for Renku", + "id": "vscode", + "version": "1.0.0", + "description": "Installs vscode and sets the correct entrypoint for running on Renku.", + "options": {}, + "dependsOn": { + "ghcr.io/devcontainers-extra/features/vscode-cli:1": { + "version": "1.95.2" + } + } + "init": true, + "entrypoint": "tini -- code serve-web --server-base-path \"$RENKU_BASE_URL_PATH/\" --without-connection-token --host 0.0.0.0 --port 8888" +} diff --git a/src/vscode/install.sh b/src/vscode/install.sh new file mode 100755 index 0000000..c552834 --- /dev/null +++ b/src/vscode/install.sh @@ -0,0 +1 @@ +#!/bin/bash -i diff --git a/test/vscode/scenarios.json b/test/vscode/scenarios.json new file mode 100644 index 0000000..f8cb83f --- /dev/null +++ b/test/vscode/scenarios.json @@ -0,0 +1,8 @@ +{ + "ubuntu": { + "image": "ubuntu", + "features": { + "vscode": {} + } + } +} diff --git a/test/vscode/ubuntu.sh b/test/vscode/ubuntu.sh new file mode 100644 index 0000000..13622d7 --- /dev/null +++ b/test/vscode/ubuntu.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +# Optional: Import test library bundled with the devcontainer CLI +source dev-container-features-test-lib + +# Feature-specific tests +# The 'check' command comes from the dev-container-features-test-lib. +check "code cli is available" bash -c "code --help" +check "code serve-web cli is available" bash -c "code serve-web --help" + +# Report results +# If any of the checks above exited with a non-zero exit code, the test will fail. +reportResults From cfa39365d1d8f8ee3dc011fd5432cd9efd0169e4 Mon Sep 17 00:00:00 2001 From: Tasko Olevski Date: Wed, 13 Nov 2024 18:02:12 +0100 Subject: [PATCH 2/2] squashme: address comments --- src/vscode/README.md | 4 ++-- src/vscode/devcontainer-feature.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vscode/README.md b/src/vscode/README.md index 7c17018..6a53976 100644 --- a/src/vscode/README.md +++ b/src/vscode/README.md @@ -1,7 +1,7 @@ -# Renku CLI (renku) +# VSCode frontend for Renku sessions -Installs vscode for running in Renku. +Installs VSCode for running in Renku. ## Example Usage diff --git a/src/vscode/devcontainer-feature.json b/src/vscode/devcontainer-feature.json index 315e23c..bd365f4 100644 --- a/src/vscode/devcontainer-feature.json +++ b/src/vscode/devcontainer-feature.json @@ -8,7 +8,7 @@ "ghcr.io/devcontainers-extra/features/vscode-cli:1": { "version": "1.95.2" } - } + }, "init": true, - "entrypoint": "tini -- code serve-web --server-base-path \"$RENKU_BASE_URL_PATH/\" --without-connection-token --host 0.0.0.0 --port 8888" + "entrypoint": "code serve-web --server-base-path \"$RENKU_BASE_URL_PATH/\" --without-connection-token --host 0.0.0.0 --port 8888" }