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..6a53976 --- /dev/null +++ b/src/vscode/README.md @@ -0,0 +1,15 @@ + +# VSCode frontend for Renku sessions + +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..bd365f4 --- /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": "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