diff --git a/.github/workflows/compatibility-e2e.yml b/.github/workflows/compatibility-e2e.yml index 3e0375e2e0a..6f1ac75ff65 100644 --- a/.github/workflows/compatibility-e2e.yml +++ b/.github/workflows/compatibility-e2e.yml @@ -28,7 +28,20 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - module: ["manager", "scheduler", "dfdaemon"] + module: ["manager", "scheduler", "dfdaemon", "seed-peer"] + include: + - module: manager + image: manager + chart-name: manager + - module: scheduler + image: scheduler + chart-name: scheduler + - module: dfdaemon + image: dfdaemon + chart-name: dfdaemon + - module: seed-peer + image: dfdaemon + chart-name: seedPeer steps: - name: Checkout code uses: actions/checkout@v2 @@ -63,13 +76,13 @@ jobs: run: | hack/gen-buildx.sh make docker-build docker-build-testing-tools - docker pull dragonflyoss/${{ matrix.module }}:${{ env.DRAGONFLY_STABLE_IMAGE_TAG }} + docker pull dragonflyoss/${{ matrix.image }}:${{ env.DRAGONFLY_STABLE_IMAGE_TAG }} make kind-load - kind load docker-image dragonflyoss/${{ matrix.module }}:${{ env.DRAGONFLY_STABLE_IMAGE_TAG }} + kind load docker-image dragonflyoss/${{ matrix.image }}:${{ env.DRAGONFLY_STABLE_IMAGE_TAG }} - name: Setup dragonfly run: | - helm install --wait --timeout 10m --dependency-update --create-namespace --namespace dragonfly-system --set ${{ matrix.module }}.tag=${{ env.DRAGONFLY_STABLE_IMAGE_TAG }} --set ${{ matrix.module }}.image=dragonflyoss/${{ matrix.module }} -f ${{ env.DRAGONFLY_CHARTS_CONFIG_PATH }} dragonfly ${{ env.DRAGONFLY_CHARTS_PATH }} + helm install --wait --timeout 10m --dependency-update --create-namespace --namespace dragonfly-system --set ${{ matrix.chart-name }}.tag=${{ env.DRAGONFLY_STABLE_IMAGE_TAG }} --set ${{ matrix.chart-name }}.image=dragonflyoss/${{ matrix.image }} -f ${{ env.DRAGONFLY_CHARTS_CONFIG_PATH }} dragonfly ${{ env.DRAGONFLY_CHARTS_PATH }} kubectl apply -f ${{ env.DRAGONFLY_FILE_SERVER_PATH }} kubectl apply -f ${{ env.DRAGONFLY_PROXY_SERVER_PATH }} kubectl wait po file-server-0 --namespace dragonfly-e2e --for=condition=ready --timeout=10m @@ -81,6 +94,7 @@ jobs: - name: Run Compatibility E2E test env: DRAGONFLY_COMPATIBILITY_E2E_TEST_MODE: ${{ matrix.module }} + DRAGONFLY_COMPATIBILITY_E2E_TEST_IMAGE: ${{ matrix.image }} run: make actions-e2e-test-coverage - name: Upload coverage to Codecov diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go index d6fab079cbc..00bcdd479f5 100644 --- a/test/e2e/e2e_test.go +++ b/test/e2e/e2e_test.go @@ -126,7 +126,8 @@ var _ = BeforeSuite(func() { fmt.Printf("feature gates: %q, flags: %q\n", featureGates.String(), featureGatesFlag) mode := os.Getenv("DRAGONFLY_COMPATIBILITY_E2E_TEST_MODE") - if mode != "" { + imageName := os.Getenv("DRAGONFLY_COMPATIBILITY_E2E_TEST_IMAGE") + if mode != "" && imageName != "" { rawImages, err := e2eutil.KubeCtlCommand("-n", dragonflyNamespace, "get", "pod", "-l", fmt.Sprintf("component=%s", mode), "-o", "jsonpath='{range .items[0]}{.spec.containers[0].image}{end}'").CombinedOutput() image := strings.Trim(string(rawImages), "'") @@ -134,7 +135,7 @@ var _ = BeforeSuite(func() { fmt.Printf("special image name: %s\n", image) stableImageTag := os.Getenv("DRAGONFLY_STABLE_IMAGE_TAG") - Expect(fmt.Sprintf("dragonflyoss/%s:%s", mode, stableImageTag)).To(Equal(image)) + Expect(fmt.Sprintf("dragonflyoss/%s:%s", imageName, stableImageTag)).To(Equal(image)) } rawGitCommit, err := e2eutil.GitCommand("rev-parse", "--short", "HEAD").CombinedOutput()