diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 42b2aa8378..bb096e0f92 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -388,7 +388,7 @@ jobs: # Trigger integration tests if the primary "test" target is triggered by this change. - name: Trigger integration tests (pull request) - if: ${{ github.event_name == 'pull_request' && contains(fromJSON(needs.testmask.outputs.targets), 'test') }} + if: ${{ github.event_name == 'pull_request' && (contains(fromJSON(needs.testmask.outputs.targets), 'test') || contains(fromJSON(needs.testmask.outputs.targets), 'test-exp-ssh')) }} env: GH_TOKEN: ${{ steps.generate-token.outputs.token }} run: |- @@ -400,7 +400,7 @@ jobs: # Skip integration tests if the primary "test" target is not triggered by this change. # Use Checks API (not Statuses API) to match the required "Integration Tests" check. - name: Skip integration tests (pull request) - if: ${{ github.event_name == 'pull_request' && !contains(fromJSON(needs.testmask.outputs.targets), 'test') }} + if: ${{ github.event_name == 'pull_request' && !contains(fromJSON(needs.testmask.outputs.targets), 'test') && !contains(fromJSON(needs.testmask.outputs.targets), 'test-exp-ssh') }} uses: actions/github-script@v8 with: script: | diff --git a/acceptance/ssh/connect-serverless-gpu/out.stdout.txt b/acceptance/ssh/connect-serverless-gpu/out.stdout.txt new file mode 100644 index 0000000000..41cae5e7d1 --- /dev/null +++ b/acceptance/ssh/connect-serverless-gpu/out.stdout.txt @@ -0,0 +1 @@ +Connection successful diff --git a/acceptance/ssh/connect-serverless-gpu/out.test.toml b/acceptance/ssh/connect-serverless-gpu/out.test.toml new file mode 100644 index 0000000000..2c416b8dc8 --- /dev/null +++ b/acceptance/ssh/connect-serverless-gpu/out.test.toml @@ -0,0 +1,9 @@ +Local = false +Cloud = true +RequiresUnityCatalog = true + +[CloudEnvs] + gcp = false + +[EnvMatrix] + DATABRICKS_BUNDLE_ENGINE = ["direct"] diff --git a/acceptance/ssh/connect-serverless-gpu/output.txt b/acceptance/ssh/connect-serverless-gpu/output.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/acceptance/ssh/connect-serverless-gpu/script b/acceptance/ssh/connect-serverless-gpu/script new file mode 100644 index 0000000000..8c8538f6e3 --- /dev/null +++ b/acceptance/ssh/connect-serverless-gpu/script @@ -0,0 +1,6 @@ +errcode $CLI ssh connect --name serverless-gpu-test --accelerator=GPU_1xA10 --releases-dir=$CLI_RELEASES_DIR -- "echo 'Connection successful'" >out.stdout.txt 2>LOG.stderr + +if ! grep -q "Connection successful" out.stdout.txt; then + run_id=$(cat LOG.stderr | grep -o "Job submitted successfully with run ID: [0-9]*" | grep -o "[0-9]*$") + trace $CLI jobs get-run "$run_id" > LOG.job +fi diff --git a/acceptance/ssh/connect-serverless-gpu/test.toml b/acceptance/ssh/connect-serverless-gpu/test.toml new file mode 100644 index 0000000000..fd2ebd8b5a --- /dev/null +++ b/acceptance/ssh/connect-serverless-gpu/test.toml @@ -0,0 +1,12 @@ +Local = false +Cloud = true + +# Serverless GPU is only available in newer environments +RequiresUnityCatalog = true + +# Serverless GPU is not available in GCP yet +[CloudEnvs] + gcp = false + +[EnvMatrix] + DATABRICKS_BUNDLE_ENGINE = ["direct"]