Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/workflow-vars/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ runs:
export INGRESS_HOSTNAME_BASE="${INFRA_INGRESS_HOSTNAME_BASE}"

TEST_INGRESS_HOST="${TEST_IDENTIFIER}.${INGRESS_HOSTNAME_BASE}"
if [[ "${{ inputs.deployment-ttl }}" == "" ]] && is_pr; then
if [[ "${{ inputs.deployment-ttl }}" == "" ]]; then
TEST_INGRESS_HOST="${GITHUB_WORKFLOW_JOB_ID}-${TEST_INGRESS_HOST}"
fi
# The var is needed in some non-shell steps.
Expand Down
6 changes: 3 additions & 3 deletions charts/camunda-platform-8.9/values-enterprise.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ identityPostgresql:
image:
registry: registry.camunda.cloud
repository: vendor-ee/postgresql
tag: 18.4.0-debian-12-r0
tag: 18.4.0-debian-12-r9
pullSecrets:
- name: registry-camunda-cloud

Expand Down Expand Up @@ -65,7 +65,7 @@ identityKeycloak:
image:
registry: registry.camunda.cloud
repository: vendor-ee/postgresql
tag: 18.4.0-debian-12-r0
tag: 18.4.0-debian-12-r9
pullSecrets:
- name: registry-camunda-cloud

Expand All @@ -87,7 +87,7 @@ webModelerPostgresql:
image:
registry: registry.camunda.cloud
repository: vendor-ee/postgresql
tag: 18.4.0-debian-12-r0
tag: 18.4.0-debian-12-r9
pullSecrets:
- name: registry-camunda-cloud

Expand Down
35 changes: 34 additions & 1 deletion scripts/deploy-camunda/deploy/test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"path/filepath"
"scripts/camunda-core/pkg/logging"
"scripts/deploy-camunda/config"
"strconv"
"strings"
"sync"
"syscall"
Expand Down Expand Up @@ -163,7 +164,14 @@ func runE2ETests(ctx context.Context, repoRoot, chartPath, namespace, kubeContex
args := []string{
"--absolute-chart-path", chartPath,
"--namespace", namespace,
"--run-smoke-tests",
}

// For chart versions < 8.10, run only the smoke-tests project.
// 8.10+ runs the full-suite project (the script's default) which
// exercises the full E2E suite with proper exclusions configured
// in the chart's playwright.config.ts.
if !isFullSuiteChart(chartPath) {
args = append(args, "--run-smoke-tests")
}

if kubeContext != "" {
Expand All @@ -179,6 +187,31 @@ func runE2ETests(ctx context.Context, repoRoot, chartPath, namespace, kubeContex
return executeScript(ctx, scriptPath, args, "e2e", outputSink)
}

// isFullSuiteChart returns true if the chart path indicates version 8.10 or
// later, which should run the full E2E suite instead of just smoke tests.
// Chart directories follow the naming pattern "camunda-platform-8.<minor>".
func isFullSuiteChart(chartPath string) bool {
base := filepath.Base(chartPath)
const prefix = "camunda-platform-8."
idx := strings.Index(base, prefix)
if idx < 0 {
return false
}
minorStr := base[idx+len(prefix):]
// Trim any non-digit suffix (e.g., "-alpha1")
for i, c := range minorStr {
if c < '0' || c > '9' {
minorStr = minorStr[:i]
break
}
}
minor, err := strconv.Atoi(minorStr)
if err != nil {
return false
}
return minor >= 10
}

// executeScript runs a shell script with the given arguments and returns the
// captured combined output alongside any error.
//
Expand Down
37 changes: 37 additions & 0 deletions scripts/deploy-camunda/deploy/test_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,43 @@ func TestTestError_ErrorsAs_NotPresent(t *testing.T) {
}
}

func TestIsFullSuiteChart(t *testing.T) {
tests := []struct {
chartPath string
want bool
}{
// 8.10+ should run the full suite
{"charts/camunda-platform-8.10", true},
{"charts/camunda-platform-8.11", true},
{"charts/camunda-platform-8.12", true},
{"/absolute/path/charts/camunda-platform-8.10", true},
{"charts/camunda-platform-8.10/", true}, // filepath.Base strips trailing slash

// Below 8.10 should NOT run the full suite
{"charts/camunda-platform-8.9", false},
{"charts/camunda-platform-8.8", false},
{"charts/camunda-platform-8.7", false},
{"charts/camunda-platform-8.0", false},

// Edge cases
{"", false},
{"charts/some-other-chart", false},
{"camunda-platform-8.", false}, // no minor version digits
{"camunda-platform-8.abc", false}, // non-numeric minor
{"camunda-platform-8.10-alpha1", true}, // suffix stripped, minor=10
{"camunda-platform-8.9-rc2", false}, // suffix stripped, minor=9
}

for _, tt := range tests {
t.Run(tt.chartPath, func(t *testing.T) {
got := isFullSuiteChart(tt.chartPath)
if got != tt.want {
t.Errorf("isFullSuiteChart(%q) = %v, want %v", tt.chartPath, got, tt.want)
}
})
}
}

func TestIsChartVersion(t *testing.T) {
tests := []struct {
chartPath string
Expand Down
Loading