Skip to content

Commit e76c0b0

Browse files
committed
fix: only set env defaults in CI, not local dev
- Wrap ensureEnvDefault calls with isCI check - Local dev will fail fast on missing env vars - CI gets safe defaults for tests
1 parent 46aeb27 commit e76c0b0

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

packages/internal/src/env.ts

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,33 @@
11
import { serverEnvSchema, serverProcessEnv } from './env-schema'
22

3-
// Provide safe defaults for local/test runs to avoid schema failures
4-
const ensureEnvDefault = (key: string, value: string) => {
5-
if (!process.env[key]) {
6-
process.env[key] = value
3+
// Only provide safe defaults in CI to avoid schema failures during tests
4+
// In local dev, missing env vars should fail fast so devs know to configure them
5+
const isCI = process.env.CI === 'true' || process.env.CI === '1'
6+
7+
if (isCI) {
8+
const ensureEnvDefault = (key: string, value: string) => {
9+
if (!process.env[key]) {
10+
process.env[key] = value
11+
}
712
}
8-
}
913

10-
ensureEnvDefault('OPEN_ROUTER_API_KEY', 'test')
11-
ensureEnvDefault('OPENAI_API_KEY', 'test')
12-
ensureEnvDefault('LINKUP_API_KEY', 'test')
13-
ensureEnvDefault('PORT', '4242')
14-
ensureEnvDefault('DATABASE_URL', 'postgres://user:pass@localhost:5432/db')
15-
ensureEnvDefault('CODEBUFF_GITHUB_ID', 'test-id')
16-
ensureEnvDefault('CODEBUFF_GITHUB_SECRET', 'test-secret')
17-
ensureEnvDefault('NEXTAUTH_SECRET', 'test-secret')
18-
ensureEnvDefault('STRIPE_SECRET_KEY', 'sk_test_dummy')
19-
ensureEnvDefault('STRIPE_WEBHOOK_SECRET_KEY', 'whsec_dummy')
20-
ensureEnvDefault('STRIPE_USAGE_PRICE_ID', 'price_test')
21-
ensureEnvDefault('STRIPE_TEAM_FEE_PRICE_ID', 'price_test')
22-
ensureEnvDefault('LOOPS_API_KEY', 'test')
23-
ensureEnvDefault('DISCORD_PUBLIC_KEY', 'test')
24-
ensureEnvDefault('DISCORD_BOT_TOKEN', 'test')
25-
ensureEnvDefault('DISCORD_APPLICATION_ID', 'test')
14+
ensureEnvDefault('OPEN_ROUTER_API_KEY', 'test')
15+
ensureEnvDefault('OPENAI_API_KEY', 'test')
16+
ensureEnvDefault('LINKUP_API_KEY', 'test')
17+
ensureEnvDefault('PORT', '4242')
18+
ensureEnvDefault('DATABASE_URL', 'postgres://user:pass@localhost:5432/db')
19+
ensureEnvDefault('CODEBUFF_GITHUB_ID', 'test-id')
20+
ensureEnvDefault('CODEBUFF_GITHUB_SECRET', 'test-secret')
21+
ensureEnvDefault('NEXTAUTH_SECRET', 'test-secret')
22+
ensureEnvDefault('STRIPE_SECRET_KEY', 'sk_test_dummy')
23+
ensureEnvDefault('STRIPE_WEBHOOK_SECRET_KEY', 'whsec_dummy')
24+
ensureEnvDefault('STRIPE_USAGE_PRICE_ID', 'price_test')
25+
ensureEnvDefault('STRIPE_TEAM_FEE_PRICE_ID', 'price_test')
26+
ensureEnvDefault('LOOPS_API_KEY', 'test')
27+
ensureEnvDefault('DISCORD_PUBLIC_KEY', 'test')
28+
ensureEnvDefault('DISCORD_BOT_TOKEN', 'test')
29+
ensureEnvDefault('DISCORD_APPLICATION_ID', 'test')
30+
}
2631

2732
// Only log environment in non-production
2833
if (process.env.NEXT_PUBLIC_CB_ENVIRONMENT !== 'prod') {

0 commit comments

Comments
 (0)