From 3885d8a6eed44e1909fcb748c566516a9f7fb1ca Mon Sep 17 00:00:00 2001 From: Thomas Sapelza Date: Tue, 6 Oct 2026 15:45:01 +0200 Subject: [PATCH 1/2] AB-580: update runners to Ubuntu 26.04 and checkout to v7 --- .github/workflows/release.yml | 4 ++-- .github/workflows/test.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4a577b4..be91e91 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,10 +24,10 @@ jobs: build-and-release: needs: test - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 timeout-minutes: 5 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} - uses: aboutbits/github-actions-base/git-setup@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 96a3be2..d0fc9dc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,14 +6,14 @@ on: jobs: test: name: Tests (PostgreSQL ${{ matrix.postgres-version }}) - runs-on: ubuntu-24.04 + runs-on: ubuntu-26.04 timeout-minutes: 10 strategy: fail-fast: false matrix: postgres-version: [ 15, 16, 17, 18 ] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: aboutbits/github-actions-java/setup-with-gradle@v4 with: java-version: 25 From 5bb9240419dfc99e390ee61250972df98d6f39c9 Mon Sep 17 00:00:00 2001 From: Thomas Sapelza Date: Tue, 6 Oct 2026 17:30:07 +0200 Subject: [PATCH 2/2] skip the CRDs on helm install in HelmTest The ubuntu-26.04 runner ships Helm 4, which installs CRDs with server-side apply and conflicts with the CRDs that the test-mode operator already applied. Helm 3 skipped existing CRDs. Assisted-by: Claude:claude-opus-5-5 --- .../test/java/it/aboutbits/postgresql/helm/HelmTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/operator/src/test/java/it/aboutbits/postgresql/helm/HelmTest.java b/operator/src/test/java/it/aboutbits/postgresql/helm/HelmTest.java index 79298a2..3a94ef1 100644 --- a/operator/src/test/java/it/aboutbits/postgresql/helm/HelmTest.java +++ b/operator/src/test/java/it/aboutbits/postgresql/helm/HelmTest.java @@ -190,9 +190,14 @@ void helmInstall_createsDeployment() throws IOException { }; var installOutput = new StringBuilder(); + // The test-mode operator already applied the CRDs with the field manager `fabric8-kubernetes-client`. + // Helm 4 installs CRDs with server-side apply, which conflicts with that field manager on `.spec.versions`. + // Helm 3 skipped a CRD that already existed, so `--skip-crds` keeps that behavior on both versions. ProcessBuilder.newBuilder( "helm", - "install", releaseName, chartPath.toAbsolutePath().toString(), "--set", rootValuesAlias + ".image=postgresql-operator:test" + "install", releaseName, chartPath.toAbsolutePath().toString(), + "--skip-crds", + "--set", rootValuesAlias + ".image=postgresql-operator:test" ).environment(Map.of( ENV_VAR_KUBECONFIG, kubeConfigPath.toAbsolutePath().toString()