Hide Postgres upgrade for v3 projects (#51024)

## Problem

v3 projects do not support postgres upgrade but the option may appear.

## Solution

Hide the Postgres upgrade for v3 projects

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Projects running on AWS Kubernetes no longer display database upgrade
alerts or read-replica warnings in service version settings. Other
upgrade eligibility and warning conditions remain unchanged.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Gildas Garcia authored and GitHub committed 2026-09-29 16:33:05 +02:00
1 parent f216848bd2
commit 529e4a5366
2 files changed
+19 -2

No files matched your search

@@ -11,6 +11,7 @@ const {
mockUseReadReplicas,
mockUseServiceVersions,
mockUseUpgradeEligibility,
mockIsAwsK8sCloudProvider,
} = vi.hoisted(() => ({
mockUseFeatures: vi.fn(),
mockUseIsOrioleDb: vi.fn(),
@@ -18,6 +19,7 @@ const {
mockUseReadReplicas: vi.fn(),
mockUseServiceVersions: vi.fn(),
mockUseUpgradeEligibility: vi.fn(),
mockIsAwsK8sCloudProvider: vi.fn(),
}))
vi.mock('common', () => ({
@@ -118,6 +120,7 @@ vi.mock('@/hooks/misc/useIsFeatureEnabled', () => ({
vi.mock('@/hooks/misc/useSelectedProject', () => ({
useIsOrioleDb: mockUseIsOrioleDb,
useSelectedProjectQuery: mockUseProject,
useIsAwsK8sCloudProvider: mockIsAwsK8sCloudProvider,
}))
describe('ServiceVersionsSection', () => {
@@ -128,6 +131,7 @@ describe('ServiceVersionsSection', () => {
})
mockUseIsOrioleDb.mockReturnValue(false)
mockUseProject.mockReturnValue({ data: { status: 'ACTIVE_HEALTHY' } })
mockIsAwsK8sCloudProvider.mockReturnValue(false)
mockUseReadReplicas.mockReturnValue({ data: [{ identifier: 'project-ref' }] })
mockUseUpgradeEligibility.mockReturnValue({
data: {
@@ -276,4 +280,12 @@ describe('ServiceVersionsSection', () => {
rerender(<ServiceVersionsSection />)
expect(screen.getByText('Failed to retrieve versions')).toBeInTheDocument()
})
it('does not offer upgrade for v3 projects', () => {
mockIsAwsK8sCloudProvider.mockReturnValue(true)
render(<ServiceVersionsSection />)
expect(screen.queryByText('Project upgrade available')).not.toBeInTheDocument()
})
})
@@ -34,11 +34,16 @@ import { useProjectUpgradeEligibilityQuery } from '@/data/config/project-upgrade
import { useProjectServiceVersionsQuery } from '@/data/projects/project-service-versions'
import { useReadReplicasQuery } from '@/data/read-replicas/replicas-query'
import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled'
import { useIsOrioleDb, useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject'
import {
useIsAwsK8sCloudProvider,
useIsOrioleDb,
useSelectedProjectQuery,
} from '@/hooks/misc/useSelectedProject'
export const ServiceVersionsSection = () => {
const { ref } = useParams()
const { data: project } = useSelectedProjectQuery()
const isAwsK8s = useIsAwsK8sCloudProvider()
const { projectAuthAll: authEnabled, projectSettingsDatabaseUpgrades: showDatabaseUpgrades } =
useIsFeatureEnabled([
@@ -197,7 +202,7 @@ export const ServiceVersionsSection = () => {
</>
)}
{showDatabaseUpgrades && data && data.eligible ? (
{showDatabaseUpgrades && data && data.eligible && !isAwsK8s ? (
hasReadReplicas ? (
<ReadReplicasWarning latestPgVersion={latestPgVersion} />
) : (