Skip to content

feat: add PGlite database isolation for tests#3426

Closed
idoshamun wants to merge 2 commits intomainfrom
schema-isolation-pglite
Closed

feat: add PGlite database isolation for tests#3426
idoshamun wants to merge 2 commits intomainfrom
schema-isolation-pglite

Conversation

@idoshamun
Copy link
Copy Markdown
Member

Add hybrid PGlite/PostgreSQL test setup that provides database isolation for tests while maintaining compatibility with features PGlite doesn't support.

  • Add setup-pglite.ts with in-memory PostgreSQL via PGlite
  • Handle TypeORM boolean parameter conversion for PGlite compatibility
  • Automatically fall back to real PostgreSQL for tests requiring:
    • pg_trgm trigram search
    • Materialized views
    • Complex triggers
  • Enable PGLITE_ENABLED in CircleCI for faster isolated tests
  • Add validation tests for PGlite functionality

Tests using real PostgreSQL: sources, users, bookmarks, posts, search, feeds, comments. All other tests use PGlite for isolation.

Add hybrid PGlite/PostgreSQL test setup that provides database isolation
for tests while maintaining compatibility with features PGlite doesn't support.

- Add setup-pglite.ts with in-memory PostgreSQL via PGlite
- Handle TypeORM boolean parameter conversion for PGlite compatibility
- Automatically fall back to real PostgreSQL for tests requiring:
  - pg_trgm trigram search
  - Materialized views
  - Complex triggers
- Enable PGLITE_ENABLED in CircleCI for faster isolated tests
- Add validation tests for PGlite functionality

Tests using real PostgreSQL: sources, users, bookmarks, posts, search,
feeds, comments. All other tests use PGlite for isolation.
@pulumi
Copy link
Copy Markdown

pulumi Bot commented Jan 10, 2026

🍹 The Update (preview) for dailydotdev/api/prod (at 2f970d0) was successful.

Resource Changes

    Name                                                   Type                           Operation
~   vpc-native-personalized-digest-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-private-deployment                          kubernetes:apps/v1:Deployment  update
~   vpc-native-sync-subscription-with-cio-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-deployment                                  kubernetes:apps/v1:Deployment  update
~   vpc-native-generate-search-invites-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-update-views-cron                           kubernetes:batch/v1:CronJob    update
~   vpc-native-bg-deployment                               kubernetes:apps/v1:Deployment  update
~   vpc-native-calculate-top-readers-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-update-current-streak-cron                  kubernetes:batch/v1:CronJob    update
-   vpc-native-api-clickhouse-migration-b54763f8           kubernetes:batch/v1:Job        delete
~   vpc-native-check-analytics-report-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-update-highlighted-views-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-clickhouse-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-update-trending-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-updated-sync-cron              kubernetes:batch/v1:CronJob    update
+   vpc-native-api-db-migration-f78dc454                   kubernetes:batch/v1:Job        create
~   vpc-native-update-tag-recommendations-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-opportunities-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-public-threshold-cron         kubernetes:batch/v1:CronJob    update
~   vpc-native-generic-referral-reminder-cron              kubernetes:batch/v1:CronJob    update
+   vpc-native-api-clickhouse-migration-f78dc454           kubernetes:batch/v1:Job        create
~   vpc-native-clean-gifted-plus-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-images-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-stale-user-transactions-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-user-companies-cron            kubernetes:batch/v1:CronJob    update
~   vpc-native-daily-digest-cron                           kubernetes:batch/v1:CronJob    update
~   vpc-native-ws-deployment                               kubernetes:apps/v1:Deployment  update
~   vpc-native-personalized-digest-deployment              kubernetes:apps/v1:Deployment  update
~   vpc-native-update-source-tag-view-cron                 kubernetes:batch/v1:CronJob    update
-   vpc-native-api-db-migration-b54763f8                   kubernetes:batch/v1:Job        delete
~   vpc-native-update-tags-str-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-temporal-deployment                         kubernetes:apps/v1:Deployment  update
~   vpc-native-hourly-notification-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-history-day-clickhouse-cron  kubernetes:batch/v1:CronJob    update

@idoshamun idoshamun closed this Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant