Files
supabase/scripts/generateLocalEnv.js
Ali Waseem 7898abe06c Fix: Make self hosted tests more reliable locally and in CI (#40479)
* added ui studio command

* added SKIP ASSET UPLOAD option

* updated failing tests

* updated e2e scripts to include CI instructions

* removed unused envs and slack messages

* updated timeouts and max retries on CI

* updated generated local env

* updated env

* updated env generation for e2e tests

* remove vercel preview

* updated tests and trying junit report on PR

* update test comment

* updated commit hash for reporter

* updated file path

* updated runner to blacksmith

* update test file for reporting

* Update .github/workflows/studio-e2e-test.yml

Co-authored-by: Charis <[email protected]>

* Update package.json

Co-authored-by: Charis <[email protected]>

* Update e2e/studio/playwright.config.ts

Co-authored-by: Charis <[email protected]>

* updated to skip comment on forks

---------

Co-authored-by: Charis <[email protected]>
2025-11-17 15:00:31 -07:00

61 lines
1.8 KiB
JavaScript

const fs = require('fs')
const generatedEnv = require('../keys.json')
/**
* This script takes the API keys from the local environment, merges them with some predefined variables and saves them
* to a env.test file in the studio app. This is needed to prepare the studio so that it can be run with the local
* environment as the backend.
*/
const defaultEnv = {
// NEXT_ANALYTICS_BACKEND_PROVIDER: 'postgres',
// SUPABASE_REST_URL: 'http://127.0.0.1:54321/rest/v1/',
// NEXT_PUBLIC_ENABLE_LOGS: 'false',
// NEXT_PUBLIC_IS_PLATFORM: 'false',
PG_META_CRYPTO_KEY: 'SAMPLE_KEY',
POSTGRES_PASSWORD: 'postgres',
POSTGRES_HOST: 'db',
POSTGRES_DB: 'postgres',
POSTGRES_PORT: '5432',
SUPABASE_ANON_KEY: '$ANON_KEY',
SUPABASE_SERVICE_KEY: '$SERVICE_ROLE_KEY',
SUPABASE_URL: '$API_URL',
STUDIO_PG_META_URL: '$API_URL/pg',
SUPABASE_PUBLIC_URL: '$API_URL',
SENTRY_IGNORE_API_RESOLUTION_ERROR: '1',
LOGFLARE_URL: 'http://127.0.0.1:54327',
LOGFLARE_PRIVATE_ACCESS_TOKEN: 'api-key',
LOGFLARE_API_KEY: 'api-key',
NEXT_PUBLIC_SITE_URL: 'http://localhost:8082',
NEXT_PUBLIC_GOTRUE_URL: '$SUPABASE_PUBLIC_URL/auth/v1',
NEXT_PUBLIC_HCAPTCHA_SITE_KEY: '10000000-ffff-ffff-ffff-000000000001',
NEXT_PUBLIC_NODE_ENV: 'test',
}
const environment = { ...generatedEnv, ...defaultEnv }
fs.writeFileSync(
'./apps/studio/.env.test',
Object.keys(environment)
.map((key) => `${key}=${environment[key]}`)
.join('\n')
)
const STUDIO_URL = environment.NEXT_PUBLIC_SITE_URL
const WEB_SERVER_PORT = new URL(STUDIO_URL).port ?? undefined
const API_URL = environment.API_URL
const e2eTestEnv = {
STUDIO_URL,
API_URL,
WEB_SERVER_PORT,
IS_PLATFORM: 'false',
}
fs.writeFileSync(
'./e2e/studio/.env.local',
Object.keys(e2eTestEnv)
.map((key) => `${key}=${e2eTestEnv[key]}`)
.join('\n')
)