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 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()