Skip to content

Commit

Permalink
make sure matrix runs appropriate tests, every matrix ran the same tests
Browse files Browse the repository at this point in the history
Signed-off-by: Anton Troshin <[email protected]>
  • Loading branch information
antontroshin committed Mar 1, 2025
1 parent 601701d commit 6c1417b
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/kind_e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ jobs:
export TEST_OUTPUT_FILE=$GITHUB_WORKSPACE/test-e2e-kind.json
echo "TEST_OUTPUT_FILE=$TEST_OUTPUT_FILE" >> $GITHUB_ENV
export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
export TEST_DAPR_HA_MODE=${{ matrix.mode }}
make e2e-build-run-k8s
shell: bash
- name: Run tests with Docker hub
Expand All @@ -181,6 +182,7 @@ jobs:
export TEST_OUTPUT_FILE=$GITHUB_WORKSPACE/test-e2e-kind.json
echo "TEST_OUTPUT_FILE=$TEST_OUTPUT_FILE" >> $GITHUB_ENV
export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
export TEST_DAPR_HA_MODE=${{ matrix.mode }}
make e2e-build-run-k8s
shell: bash
- name: Upload test results
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/upgrade_e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,15 @@ jobs:
run: |
export TEST_OUTPUT_FILE=$GITHUB_WORKSPACE/test-e2e-upgrade-kind.json
echo "TEST_OUTPUT_FILE=$TEST_OUTPUT_FILE" >> $GITHUB_ENV
export TEST_DAPR_HA_MODE=${{ matrix.mode }}
make e2e-build-run-upgrade
- name: Run tests with Docker hub
if: github.event.schedule != '0 */6 * * *'
run: |
export TEST_OUTPUT_FILE=$GITHUB_WORKSPACE/test-e2e-upgrade-kind.json
echo "TEST_OUTPUT_FILE=$TEST_OUTPUT_FILE" >> $GITHUB_ENV
export TEST_DAPR_HA_MODE=${{ matrix.mode }}
make e2e-build-run-upgrade
- name: Upload test results
Expand Down
19 changes: 19 additions & 0 deletions tests/e2e/common/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ const (
thirdPartyDevNamespace = "default"
devRedisReleaseName = "dapr-dev-redis"
devZipkinReleaseName = "dapr-dev-zipkin"

DaprModeHA = "ha"
DaprModeNonHA = "non-ha"
)

var (
Expand Down Expand Up @@ -120,6 +123,22 @@ func GetRuntimeVersion(t *testing.T, latest bool) *semver.Version {
return runtimeVersion
}

func GetDaprTestHaMode() string {
daprHaMode := os.Getenv("TEST_DAPR_HA_MODE")
if daprHaMode != "" {
return daprHaMode
}
return ""
}

func ShouldSkipTest(mode string) bool {
envDaprHaMode := GetDaprTestHaMode()
if envDaprHaMode != "" {
return envDaprHaMode != mode
}
return false
}

func UpgradeTest(details VersionDetails, opts TestOptions) func(t *testing.T) {
return func(t *testing.T) {
daprPath := GetDaprPath()
Expand Down
57 changes: 57 additions & 0 deletions tests/e2e/kubernetes/kubernetes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,17 @@ limitations under the License.
package kubernetes_test

import (
"fmt"
"testing"

"github.com/dapr/cli/tests/e2e/common"
)

func TestKubernetesNonHAModeMTLSDisabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -54,6 +59,10 @@ func TestKubernetesNonHAModeMTLSDisabled(t *testing.T) {
}

func TestKubernetesHAModeMTLSDisabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -85,6 +94,10 @@ func TestKubernetesHAModeMTLSDisabled(t *testing.T) {
}

func TestKubernetesDev(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -119,6 +132,10 @@ func TestKubernetesDev(t *testing.T) {
}

func TestKubernetesNonHAModeMTLSEnabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -150,6 +167,10 @@ func TestKubernetesNonHAModeMTLSEnabled(t *testing.T) {
}

func TestKubernetesHAModeMTLSEnabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -182,6 +203,10 @@ func TestKubernetesHAModeMTLSEnabled(t *testing.T) {
}

func TestKubernetesInitWithCustomCert(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -216,6 +241,10 @@ func TestKubernetesInitWithCustomCert(t *testing.T) {
// Test for certificate renewal

func TestRenewCertificateMTLSEnabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -251,6 +280,10 @@ func TestRenewCertificateMTLSEnabled(t *testing.T) {
}

func TestRenewCertificateMTLSDisabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -286,6 +319,10 @@ func TestRenewCertificateMTLSDisabled(t *testing.T) {
}

func TestRenewCertWithPrivateKey(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -328,6 +365,10 @@ func TestRenewCertWithPrivateKey(t *testing.T) {
}

func TestKubernetesUninstall(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -359,6 +400,10 @@ func TestKubernetesUninstall(t *testing.T) {
}

func TestRenewCertWithIncorrectFlags(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

common.EnsureUninstall(true, true)

tests := []common.TestCase{}
Expand Down Expand Up @@ -397,6 +442,10 @@ func TestRenewCertWithIncorrectFlags(t *testing.T) {
// install dapr control plane with mariner docker images.
// Renew the certificate of this control plane.
func TestK8sInstallwithMarinerImagesAndRenewCertificate(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, false)

Expand Down Expand Up @@ -435,6 +484,10 @@ func TestK8sInstallwithMarinerImagesAndRenewCertificate(t *testing.T) {
}

func TestKubernetesInstallwithoutRuntimeVersionFlag(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, true)

Expand Down Expand Up @@ -467,6 +520,10 @@ func TestKubernetesInstallwithoutRuntimeVersionFlag(t *testing.T) {
}

func TestK8sInstallwithoutRuntimeVersionwithMarinerImagesFlag(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// ensure clean env for test
ensureCleanEnv(t, true)

Expand Down
20 changes: 20 additions & 0 deletions tests/e2e/upgrade/upgrade_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,10 @@ func getTestsOnUpgrade(p upgradePath, installOpts, upgradeOpts common.TestOption
// Upgrade path tests.

func TestUpgradePathNonHAModeMTLSDisabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// Ensure a clean environment.
common.EnsureUninstall(false, false) // does not wait for pod deletion.

Expand Down Expand Up @@ -230,6 +234,10 @@ func TestUpgradePathNonHAModeMTLSDisabled(t *testing.T) {
}

func TestUpgradePathNonHAModeMTLSEnabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeNonHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeNonHA))
}

// Ensure a clean environment.
common.EnsureUninstall(false, false) // does not wait for pod deletion.

Expand Down Expand Up @@ -274,6 +282,10 @@ func TestUpgradePathNonHAModeMTLSEnabled(t *testing.T) {
}

func TestUpgradePathHAModeMTLSDisabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeHA))
}

// Ensure a clean environment.
common.EnsureUninstall(false, false) // does not wait for pod deletion.

Expand Down Expand Up @@ -317,6 +329,10 @@ func TestUpgradePathHAModeMTLSDisabled(t *testing.T) {
}

func TestUpgradePathHAModeMTLSEnabled(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeHA))
}

// Ensure a clean environment.
common.EnsureUninstall(false, false) // does not wait for pod deletion.

Expand Down Expand Up @@ -363,6 +379,10 @@ func TestUpgradePathHAModeMTLSEnabled(t *testing.T) {
// HTTPEndpoint Dapr resource is a new type as of v1.11.
// This test verifies install/upgrade functionality with this additional resource.
func TestUpgradeWithHTTPEndpoint(t *testing.T) {
if common.ShouldSkipTest(common.DaprModeHA) {
t.Skip(fmt.Sprintf("Skipping %s mode test", common.DaprModeHA))
}

// Ensure a clean environment.
common.EnsureUninstall(false, false) // does not wait for pod deletion.

Expand Down

0 comments on commit 6c1417b

Please sign in to comment.