fix(tests): use sql.json in onboarding migration test and refresh metrics snapshot #6007
db-migration-backwards-compatibility.yaml
on: pull_request
Check if migrations changed
10s
Back-compat — Current branch migrations with dev branch code
31m 6s
No migration changes (skipped)
0s
Forward-compat — Current branch code with dev branch migrations
38m 12s
Annotations
10 errors and 2 warnings
|
Back-compat — Current branch migrations with dev branch code
Process completed with exit code 1.
|
|
src/auto-migrations/migration-tests.test.ts > database migration tests > 20260420000000_add_project_onboarding_state > default-and-updates:
apps/backend/prisma/migrations/20260420000000_add_project_onboarding_state/tests/default-and-updates.ts#L42
Error: Snapshot `database migration tests > 20260420000000_add_project_onboarding_state > default-and-updates 1` mismatched
- Expected
+ Received
- {
- "selected_apps": [
- "authentication",
- "emails",
- ],
- "selected_config_choice": "create-new",
- "selected_email_theme_id": null,
- "selected_payments_country": "US",
- "selected_sign_in_methods": [
- "credential",
- "magicLink",
- ],
- }
+ "{"selected_config_choice":"create-new","selected_apps":["authentication","emails"],"selected_sign_in_methods":["credential","magicLink"],"selected_email_theme_id":null,"selected_payments_country":"US"}"
❯ Module.postMigration prisma/migrations/20260420000000_add_project_onboarding_state/tests/default-and-updates.ts:42:54
❯ src/auto-migrations/migration-tests.test.ts:148:13
|
|
tests/backend/endpoints/api/v1/internal-metrics.test.ts > should return metrics data with users:
apps/e2e/tests/backend/endpoints/api/v1/internal-metrics.test.ts#L179
Error: Snapshot `should return metrics data with users > metrics_result_with_users 1` mismatched
- Expected
+ Received
@@ -5,19 +5,19 @@
"AQ": [
{
"display_name": null,
"id": "<stripped UUID>",
"last_active_at_millis": <stripped field 'last_active_at_millis'>,
- "primary_email": "mailbox-1--<stripped UUID>@stack-generated.example.com",
+ "primary_email": "mailbox-2--<stripped UUID>@stack-generated.example.com",
"profile_image_url": null,
"signed_up_at_millis": <stripped field 'signed_up_at_millis'>,
},
{
"display_name": null,
"id": "<stripped UUID>",
"last_active_at_millis": <stripped field 'last_active_at_millis'>,
- "primary_email": "mailbox-2--<stripped UUID>@stack-generated.example.com",
+ "primary_email": "mailbox-1--<stripped UUID>@stack-generated.example.com",
"profile_image_url": null,
"signed_up_at_millis": <stripped field 'signed_up_at_millis'>,
},
],
"CH": [
❯ it.timeout tests/backend/endpoints/api/v1/internal-metrics.test.ts:179:20
|
|
Forward-compat — Current branch code with dev branch migrations
Process completed with exit code 1.
|
|
src/auto-migrations/migration-tests.test.ts > database migration tests > 20260420000000_add_project_onboarding_state > default-and-updates:
apps/backend/prisma/migrations/20260420000000_add_project_onboarding_state/tests/default-and-updates.ts#L42
Error: Snapshot `database migration tests > 20260420000000_add_project_onboarding_state > default-and-updates 1` mismatched
- Expected
+ Received
- {
- "selected_apps": [
- "authentication",
- "emails",
- ],
- "selected_config_choice": "create-new",
- "selected_email_theme_id": null,
- "selected_payments_country": "US",
- "selected_sign_in_methods": [
- "credential",
- "magicLink",
- ],
- }
+ "{"selected_config_choice":"create-new","selected_apps":["authentication","emails"],"selected_sign_in_methods":["credential","magicLink"],"selected_email_theme_id":null,"selected_payments_country":"US"}"
❯ Module.postMigration prisma/migrations/20260420000000_add_project_onboarding_state/tests/default-and-updates.ts:42:54
❯ src/auto-migrations/migration-tests.test.ts:148:13
|
|
tests/backend/endpoints/api/v1/auth/password/set.test.ts > is not allowed to set password if user already has a password:
apps/e2e/tests/helpers.ts#L254
StackAssertionError: Expected at least 1 messages with subject containing "Verify your email", but found 0
This is likely an error in Stack. Please make sure you are running the newest version and report it.
❯ Mailbox.waitForMessagesWithSubjectCount tests/helpers.ts:254:13
❯ Mailbox.waitForMessagesWithSubject tests/helpers.ts:240:14
❯ Object.signUpWithEmail tests/backend/backend-helpers.ts:586:9
❯ tests/backend/endpoints/api/v1/auth/password/set.test.ts:26:3
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { extraData: { messages: [] }, customCaptureExtraArgs: [ { messages: [] } ] }
|
|
tests/backend/endpoints/api/v1/auth/password/reset.test.ts > should be able to check the password reset code without using it:
apps/e2e/tests/helpers.ts#L254
StackAssertionError: Expected at least 1 messages with subject containing "Reset your password", but found 0
This is likely an error in Stack. Please make sure you are running the newest version and report it.
❯ Mailbox.waitForMessagesWithSubjectCount tests/helpers.ts:254:13
❯ Mailbox.waitForMessagesWithSubject tests/helpers.ts:240:14
❯ getResetCode tests/backend/endpoints/api/v1/auth/password/reset.test.ts:23:20
❯ tests/backend/endpoints/api/v1/auth/password/reset.test.ts:114:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { extraData: { messages: [ { mailbox: 'default-mailbox--eee03e35-3258-44ac-ae1a-3cb67338b2e7', id: '20260507T221145-0685', from: 'Stack Dashboard <noreply@example.com>', to: [ '<default-mailbox--eee03e35-3258-44ac-ae1a-3cb67338b2e7@stack-generated.example.com>' ], subject: 'Verify your email at Stack Dashboard', date: '2026-05-07T22:11:45.080439885Z', 'posix-millis': 1778191905080, size: 5661, seen: false, body: { text: 'VERIFY YOUR EMAIL AT STACK DASHBOARD\n\nHi! Please click on the following button to verify your email.\n\nVerify my email http://localhost:12345/some-callback-url?code=raf88e8vvt7agtpsh657n5nyzv5s0a84nm2jv73n8n7g0\n\n----------------------------------------\n\nIf you were not expecting this email, you can safely ignore it.', html: '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html dir="ltr" lang="en"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/><meta name="x-apple-disable-message-reformatting"/></head><body style="background-color:rgb(250,251,251);margin:0"><!--$--><table border="0" width="100%" cellPadding="0" cellSpacing="0" role="presentation" align="center"><tbody><tr><td style="background-color:rgb(250,251,251);font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;line-height:1.5;margin:0rem;padding:0rem;overflow-x:hidden"><div style="padding-bottom:2rem;padding-top:2rem;padding-right:1rem;padding-left:1rem;display:flex;justify-content:center"><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation" style="max-width:600px;background-color:rgb(255,255,255);padding:45px;border-radius:0.5rem;box-shadow:0 0 rgb(0,0,0,0),0 0 rgb(0,0,0,0),0 0 rgb(0,0,0,0),0 0 rgb(0,0,0,0),0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));margin-right:auto;margin-left:auto;width:100%"><tbody><tr style="width:100%"><td><div style="font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;line-height:1.5;font-weight:400;letter-spacing:0.15008px;margin:0rem;padding-bottom:2rem;padding-top:2rem;width:100%;min-height:100%"><table align="center" width="100%" border="0" cellPadding="0" cellSpacing="0" role="presentation"><tbody><tr><td><h3 style="font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:700;font-size:20px;text-align:center;padding-bottom:1rem;padding-top:1rem;padding-right:1.5rem;padding-left:1.5rem;margin:0rem">Verify your email at <!-- -->Stack Dashboard</h3><p style="font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-weight:400;font-size:14px;text-align:center;padding-top:0.5rem;padding-right:1.5rem;padding-left:1.5rem;padding-bottom:1rem;margin:0rem;opacity:80%">Hi<!-- -->! Please click on the following button to verify your email.</p><div style="text-align:center;padding-bottom:0.75rem;padding-top:0.75rem;padding-right:1.5rem;padding-left:1.5rem"><a href="http://localhost:12345/some-callback-url?code=raf88e8vvt7agtpsh657n5nyzv5s0a84nm2jv73n8n7g0" st
|
|
tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts > with valid credentials > should return 200 and process dry run request:
apps/e2e/tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts#L127
Error: Snapshot `with valid credentials > should return 200 and process dry run request 34` mismatched
- Expected
+ Received
@@ -3,18 +3,11 @@
"emails": [
{
"subject": "",
"to": ["User ID: <stripped UUID>"],
},
- {
- "subject": "Verify your email at Test Failed Emails Project",
- "to": ["default-mailbox--<stripped UUID>@stack-generated.example.com"],
- },
],
"project_id": "<stripped UUID>",
"tenancy_id": "<stripped UUID>",
- "tenant_owner_emails": [
- "default-mailbox--<stripped UUID>@stack-generated.example.com",
- "default-mailbox--<stripped UUID>@stack-generated.example.com",
- ],
+ "tenant_owner_emails": ["default-mailbox--<stripped UUID>@stack-generated.example.com"],
},
]
❯ testFailedEmails tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts:127:39
❯ it.repeats tests/backend/endpoints/api/v1/internal/failed-emails-digest.test.ts:158:37
|
|
tests/backend/endpoints/api/v1/internal-metrics.test.ts > should return metrics data with users:
apps/e2e/tests/backend/endpoints/api/v1/internal-metrics.test.ts#L179
Error: Snapshot `should return metrics data with users > metrics_result_with_users 1` mismatched
- Expected
+ Received
@@ -18,20 +18,10 @@
"primary_email": "mailbox-1--<stripped UUID>@stack-generated.example.com",
"profile_image_url": null,
"signed_up_at_millis": <stripped field 'signed_up_at_millis'>,
},
],
- "CH": [
- {
- "display_name": null,
- "id": "<stripped UUID>",
- "last_active_at_millis": <stripped field 'last_active_at_millis'>,
- "primary_email": "mailbox-3--<stripped UUID>@stack-generated.example.com",
- "profile_image_url": null,
- "signed_up_at_millis": <stripped field 'signed_up_at_millis'>,
- },
- ],
},
"analytics_overview": {
"anonymous_visitors_fallback": 0,
"avg_session_seconds": 0,
"daily_anonymous_visitors_fallback": [
@@ -3021,12 +3011,9 @@
"server_metadata": null,
"signed_up_at_millis": <stripped field 'signed_up_at_millis'>,
},
],
"total_users": 9,
- "users_by_country": {
- "AQ": 2,
- "CH": 1,
- },
+ "users_by_country": { "AQ": 2 },
},
"headers": Headers { <some fields may have been hidden> },
}
❯ it.timeout tests/backend/endpoints/api/v1/internal-metrics.test.ts:179:20
|
|
tests/backend/endpoints/api/v1/auth-flows.test.ts > should not be able to sign in with OTP anymore after signing in with password first:
apps/e2e/tests/helpers.ts#L254
StackAssertionError: Expected at least 1 messages with subject containing "Verify your email", but found 0
This is likely an error in Stack. Please make sure you are running the newest version and report it.
❯ Mailbox.waitForMessagesWithSubjectCount tests/helpers.ts:254:13
❯ Mailbox.waitForMessagesWithSubject tests/helpers.ts:240:14
❯ Object.signUpWithEmail tests/backend/backend-helpers.ts:586:9
❯ tests/backend/endpoints/api/v1/auth-flows.test.ts:71:3
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { extraData: { messages: [] }, customCaptureExtraArgs: [ { messages: [] } ] }
|
|
Back-compat — Current branch migrations with dev branch code
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: JarvusInnovations/background-action@v1.0.7, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Forward-compat — Current branch code with dev branch migrations
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: JarvusInnovations/background-action@v1.0.7, pnpm/action-setup@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|