From 0ea05f76915f99d65c4c95aa2aec4011ec26ed3a Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 24 Jul 2026 09:15:26 +0200 Subject: [PATCH] Fix no space left error during e2e test setup (#3138) * fix space issues for e2e test * pin exact minor release of coveralls --- .github/workflows/run_e2e.yaml | 7 +++++++ .github/workflows/run_tests.yaml | 6 +++--- e2e/run.sh | 15 ++++++++++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/.github/workflows/run_e2e.yaml b/.github/workflows/run_e2e.yaml index 393109b00..08843ab2b 100644 --- a/.github/workflows/run_e2e.yaml +++ b/.github/workflows/run_e2e.yaml @@ -21,5 +21,12 @@ jobs: run: make codegen - name: Run unit tests run: make test + - name: Pre-pull heavy images directly on Kind nodes + run: | + FOR_NODE=$(kind get nodes --name postgres-operator-e2e-tests 2>/dev/null || true) + for node in $FOR_NODE; do + echo "Pulling Spilo image on node $node..." + docker exec "$node" crictl pull ghcr.io/zalando/spilo-18:4.1-p2 + done - name: Run end-2-end tests run: make e2e diff --git a/.github/workflows/run_tests.yaml b/.github/workflows/run_tests.yaml index c511e8fa1..5f68f6309 100644 --- a/.github/workflows/run_tests.yaml +++ b/.github/workflows/run_tests.yaml @@ -22,9 +22,9 @@ jobs: - name: Run unit tests run: go test -race -covermode atomic -coverprofile=coverage.out ./... - name: Convert coverage to lcov - uses: jandelgado/gcov2lcov-action@v1.1.1 + uses: jandelgado/gcov2lcov-action@v1.2.0 - name: Coveralls - uses: coverallsapp/github-action@master + uses: coverallsapp/github-action@v2.3.4 with: github-token: ${{ secrets.GITHUB_TOKEN }} - path-to-lcov: coverage.lcov + file: coverage.lcov diff --git a/e2e/run.sh b/e2e/run.sh index c5daf81f6..0bcf67989 100755 --- a/e2e/run.sh +++ b/e2e/run.sh @@ -24,6 +24,15 @@ esac echo "Clustername: ${cluster_name}" echo "Kubeconfig path: ${kubeconfig_path}" +# Helper function to pull images directly into kind nodes via crictl (bypasses host disk duplication) +function pull_on_kind_nodes() { + local img="$1" + echo "Pulling ${img} directly on kind nodes..." + for node in $(kind get nodes --name "${cluster_name}"); do + docker exec "$node" crictl pull "${img}" + done +} + function pull_images(){ operator_tag=$(git describe --tags --always --dirty) components=("postgres-operator" "pooler") @@ -66,14 +75,14 @@ function start_kind(){ export KUBECONFIG="${kubeconfig_path}" kind create cluster --name ${cluster_name} --config kind-cluster-postgres-operator-e2e-tests.yaml - echo "Pulling Spilo image for platform ${PLATFORM}" - docker pull --platform ${PLATFORM} "${spilo_image}" - kind load docker-image "${spilo_image}" --name ${cluster_name} + echo "Pulling Spilo image on kind nodes directly..." + pull_on_kind_nodes "${spilo_image}" } function load_operator_images() { echo "Loading operator images" export KUBECONFIG="${kubeconfig_path}" + # For locally built operator images, kind load is still fine since they're light kind load docker-image "${operator_image}" --name ${cluster_name} kind load docker-image "${pooler_image}" --name ${cluster_name} }