From 26e46d7cc80bcb4f21f750b0c9b8672ae9ebb6cf Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Thu, 26 Jun 2025 15:07:01 +0200 Subject: [PATCH] e2e tests in CI Signed-off-by: Nicolas De Loof --- .github/workflows/ci.yml | 6 ++++++ pkg/e2e/framework.go | 20 +++++++++++++++----- pkg/e2e/model_test.go | 1 - 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 10f89dc72..d8f23573a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -183,6 +183,12 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 + - name: Set up Docker Model + run: | + sudo apt-get install docker-model-plugin + docker model version + docker info + - name: Set up Go uses: actions/setup-go@v5 with: diff --git a/pkg/e2e/framework.go b/pkg/e2e/framework.go index 07228e0af..2a942d4f3 100644 --- a/pkg/e2e/framework.go +++ b/pkg/e2e/framework.go @@ -224,13 +224,23 @@ func findPluginExecutable(pluginExecutableName string) (string, error) { if err != nil { return "", err } - bin, err := filepath.Abs(filepath.Join(userDir, dockerUserDir, pluginExecutableName)) - if err != nil { - return "", err + candidates := []string{ + filepath.Join(userDir, dockerUserDir), + "/usr/local/lib/docker/cli-plugins", + "/usr/local/libexec/docker/cli-plugins", + "/usr/lib/docker/cli-plugins", + "/usr/libexec/docker/cli-plugins", } - if _, err := os.Stat(bin); err == nil { - return bin, nil + for _, path := range candidates { + bin, err := filepath.Abs(filepath.Join(path, pluginExecutableName)) + if err != nil { + return "", err + } + if _, err := os.Stat(bin); err == nil { + return bin, nil + } } + return "", fmt.Errorf("plugin not found %s: %w", pluginExecutableName, os.ErrNotExist) } diff --git a/pkg/e2e/model_test.go b/pkg/e2e/model_test.go index 8278deee2..f9be1e779 100644 --- a/pkg/e2e/model_test.go +++ b/pkg/e2e/model_test.go @@ -21,7 +21,6 @@ import ( ) func TestComposeModel(t *testing.T) { - t.Skip("require model-cli on GHA runners") c := NewParallelCLI(t) defer c.cleanupWithDown(t, "model-test")