Skip to content

Commit

Permalink
feat: e2e seed peer (#1358)
Browse files Browse the repository at this point in the history
Signed-off-by: Gaius <[email protected]>
  • Loading branch information
gaius-qi committed Jun 28, 2023
1 parent 6070e5a commit 5de118b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
22 changes: 18 additions & 4 deletions .github/workflows/compatibility-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
5 changes: 3 additions & 2 deletions test/e2e/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,15 +126,16 @@ 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), "'")
Expect(err).NotTo(HaveOccurred())
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()
Expand Down

0 comments on commit 5de118b

Please sign in to comment.