From e8ed1dfbae8fe7d8f97eda25c11b4c15d76024d0 Mon Sep 17 00:00:00 2001 From: Armel Soro Date: Sat, 12 Oct 2024 22:59:23 +0200 Subject: [PATCH] ci: Fix Podman job --- .github/workflows/ci.yaml | 11 ++++------- tests/helper/helper_podman.go | 2 +- tests/integration/cmd_devfile_list_test.go | 2 +- tests/integration/generic_test.go | 8 ++++---- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b2f842aab..bc61c25c4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -106,12 +106,6 @@ jobs: steps: - run: cat /etc/os-release || true - run: podman info - # TODO(rm3l): workaround for https://github.com/actions/runner-images/issues/7753 - # (caused by https://bugs.launchpad.net/ubuntu/+source/libpod/+bug/2024394). - # Remove this when this issue is fixed and available in the ubuntu runner image - - run: | - sudo apt install podman=3.4.4+ds1-1ubuntu1 --allow-downgrades - podman info - name: Checkout uses: actions/checkout@v4 - name: Setup Go @@ -133,7 +127,10 @@ jobs: # This is currently hard-coded because GH won't expose secrets or variables to PRs created from forks. # Hopefully, variables (which are non-sensible by definition) will be passed to workflows triggered by PRs from forks. # See https://github.com/community/community/discussions/44322 - PODMAN_EXEC_NODES: 10 + PODMAN_EXEC_NODES: 1 + # Namespacing feature removed from Podman v4.5.0: https://github.com/containers/podman/pull/17586 + # TODO(rm3l): ideally, we could separate Podman root to isolate tests and run them in parallel + PODMAN_USE_NAMESPACES: 'false' run: make test-integration-podman - name: List and stop remaining containers if: ${{ always() }} diff --git a/tests/helper/helper_podman.go b/tests/helper/helper_podman.go index cfd36d4b1..f9583e39f 100644 --- a/tests/helper/helper_podman.go +++ b/tests/helper/helper_podman.go @@ -25,7 +25,7 @@ func getBooleanValueFromEnvVar(envvar string, defaultValue bool) bool { } func GenerateAndSetContainersConf(dir string) { - useNamespaces := getBooleanValueFromEnvVar("PODMAN_USE_NAMESPACES", true) + useNamespaces := getBooleanValueFromEnvVar("PODMAN_USE_NAMESPACES", false) if !useNamespaces { return } diff --git a/tests/integration/cmd_devfile_list_test.go b/tests/integration/cmd_devfile_list_test.go index 9b7ad66a2..2c4704dcf 100644 --- a/tests/integration/cmd_devfile_list_test.go +++ b/tests/integration/cmd_devfile_list_test.go @@ -228,7 +228,7 @@ var _ = Describe("odo list with devfile", Label(helper.LabelSkipOnOpenShift), fu }) }) - When("dev is running on podman", Label(helper.LabelPodman), func() { + When("dev is running on podman", Serial, Label(helper.LabelPodman), func() { BeforeEach(func() { var err error devSession, err = helper.StartDevMode(helper.DevSessionOpts{ diff --git a/tests/integration/generic_test.go b/tests/integration/generic_test.go index a3939ba49..8561509d7 100644 --- a/tests/integration/generic_test.go +++ b/tests/integration/generic_test.go @@ -142,9 +142,9 @@ var _ = Describe("odo generic", Label(helper.LabelSkipOnOpenShift), func() { Expect(odoVersion).To(ContainSubstring(helper.GetPodmanVersion())) } else { Expect(odoVersion).Should(MatchRegexp(reKubernetesVersion)) - serverURL := oc.GetCurrentServerURL() - Expect(odoVersion).Should(ContainSubstring("Server: " + serverURL)) if !helper.IsKubernetesCluster() { + serverURL := oc.GetCurrentServerURL() + Expect(odoVersion).Should(ContainSubstring("Server: " + serverURL)) ocpMatcher := ContainSubstring("OpenShift: ") if serverVersion := commonVar.CliRunner.GetVersion(); serverVersion == "" { // Might indicate a user permission error on certain clusters (observed with a developer account on Prow nightly jobs) @@ -164,9 +164,9 @@ var _ = Describe("odo generic", Label(helper.LabelSkipOnOpenShift), func() { helper.JsonPathSatisfiesAll(odoVersion, "podman.client.version", MatchRegexp(reJSONVersion), Equal(helper.GetPodmanVersion())) } else { helper.JsonPathSatisfiesAll(odoVersion, "cluster.kubernetes.version", MatchRegexp(reJSONVersion)) - serverURL := oc.GetCurrentServerURL() - helper.JsonPathContentIs(odoVersion, "cluster.serverURL", serverURL) if !helper.IsKubernetesCluster() { + serverURL := oc.GetCurrentServerURL() + helper.JsonPathContentIs(odoVersion, "cluster.serverURL", serverURL) m := BeEmpty() if serverVersion := commonVar.CliRunner.GetVersion(); serverVersion != "" { // A blank serverVersion might indicate a user permission error on certain clusters (observed with a developer account on Prow nightly jobs)