packages:
- name: app
type: go
srcs:
- go.mod
- go.sum
- "**/*.go"
- tests/ide/jetbrains/warmup-indexing.sh
- leeway-build.sh
deps:
- components/common-go:lib
- components/content-service-api/go:lib
- components/content-service:lib
- components/gitpod-protocol/go:lib
- components/image-builder-api/go:lib
- components/supervisor-api/go:lib
- components/ws-manager-api/go:lib
- components/ide-service-api/go:lib
- components/public-api/go:lib
prep:
- ["go", "get", "-v", "./..."]
- ["sh", "-c", "echo package main > main.go"]
- ["sh", "-c", "echo 'func main() {}' >> main.go"]
- ["go", "fmt", "main.go"]
- ["sh", "leeway-build.sh"]
config:
dontTest: true
- name: docker
type: docker
srcs:
- entrypoint.sh
deps:
- :app
argdeps:
- imageRepoBase
config:
dockerfile: leeway.Dockerfile
metadata:
helm-component: integrationTest
image:
- ${imageRepoBase}/integration-tests:${version}
- ${imageRepoBase}/integration-tests:commit-${__git_commit}
scripts:
- name: dev-intellij
description: Start IntelliJ IDEA intergration tests in workspace.
script: |
which gp-vncsession &>/dev/null || leeway run dev/jetbrains-test:install-gui-dependencies
echo -e "📣 Access GUI on $(gp url 6080)\n\n"
[ "$(git rev-parse --abbrev-ref HEAD)" = "main" ] && echo "❌ Please create new branch" && exit 1
export DISPLAY=:0
previewUrl=$(previewctl get url)
ok=true
useLatest=false
curl -s -o /dev/null -w "%{http_code}" "$previewUrl/api/version" --max-time 1 | grep -q "200" || { echo -e "❌ Preview env is not ready yet, try create one:\nTF_VAR_infra_provider="gce" TF_VAR_with_large_vm=true leeway run dev:preview\n"; exit 1; }
echo "✅ Preview env $previewUrl/workspaces is ready"
[ -z "$USER_TOKEN" ] && echo "❌ env USER_TOKEN is not set or is empty. Create one PAT $previewUrl/user/tokens" && ok=false || echo "✅ PAT is set"
[ -z "$USERNAME" ] && echo "❌ env USERNAME is not set" && ok=false || echo "✅ User is set"
$ok || exit 1;
options=("latest" "stable")
echo "Select editor version: 1) latest[default]; 2) stable: "
read -p "$REPLY" choice
choice=${choice:-1}
option=${options[choice-1]}
useLatest=$([ "$option" == "latest" ] && true || false)
echo "🚢 Starting intergration tests for IntelliJ $option..."
if [ "$DEBUG" = "true" ]; then
TEST_USE_LATEST_VERSION=$useLatest TEST_IN_WORKSPACE=true ROBOQUAT_TOKEN=skip dlv test /workspace/gitpod/test/tests/ide/jetbrains --headless --listen=:32991 --api-version=2 -- -test.timeout=60m -test.v -test.run=^TestIntelliJWarmup -kubeconfig=$HOME/.kube/config -namespace=default -username=$USERNAME
else
TEST_USE_LATEST_VERSION=$useLatest TEST_IN_WORKSPACE=true ROBOQUAT_TOKEN=skip go test -timeout 60m -v -run ^TestGoLand ./tests/ide/jetbrains -kubeconfig=$HOME/.kube/config -namespace=default -username=$USERNAME
fi