mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
* fix: release.yml * fix: S3ChannelConfigSchema type port mismatch * fix(csp): Conditionally sets UPGRADE_INSECURE_REQUESTS based on the PROJECT_URL scheme. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: fix bug in github action. * chore: adding e2e tesing for notification. * fix: updating trivy-action to the latest version, using new tagging pattern (vX.XX.XX instead of (X.XX.XX). * fix: removing browser targeting in e2e workflow as it is already specify in playwright.config.ts * fix: mapping secrets to environment variables in the end-to-end workflow. * fix: add a condition to allow end-to-end workflow execution only on main repo (fork are excluded). * fix: adding some data-testid to rely on more stable locator. * fix: adding some data-testid to rely on more stable locator. * fix: removing unusued browsers in end-to-end workflow. * fix: removing unused browsers in end-to-end workflow. * fix: removing unused browsers in end-to-end workflow. --------- Co-authored-by: charlesgauthereau <charles.gauthereau@soluce-technologies.com> Co-authored-by: killianlarcher <killian.larcher@soluce-technologies.com>
63 lines
1.9 KiB
TypeScript
63 lines
1.9 KiB
TypeScript
const REQUIRED_E2E_ENV_VARS = [
|
|
"E2E_NOTIFICATION_SMTP_HOST",
|
|
"E2E_NOTIFICATION_SMTP_PORT",
|
|
"E2E_NOTIFICATION_SMTP_USER",
|
|
"E2E_NOTIFICATION_SMTP_PASSWORD",
|
|
"E2E_NOTIFICATION_SMTP_FROM",
|
|
"E2E_NOTIFICATION_SMTP_TO",
|
|
"E2E_NOTIFICATION_SLACK_WEBHOOK",
|
|
"E2E_NOTIFICATION_DISCORD_WEBHOOK",
|
|
"E2E_NOTIFICATION_TELEGRAM_BOT_TOKEN",
|
|
"E2E_NOTIFICATION_TELEGRAM_CHAT_ID",
|
|
"E2E_NOTIFICATION_TELEGRAM_TOPIC_ID",
|
|
"E2E_NOTIFICATION_GOTIFY_SERVER_URL",
|
|
"E2E_NOTIFICATION_GOTIFY_APP_TOKEN",
|
|
"E2E_NOTIFICATION_NTFY_TOPIC",
|
|
"E2E_NOTIFICATION_NTFY_SERVER_URL",
|
|
"E2E_NOTIFICATION_NTFY_TOKEN",
|
|
"E2E_NOTIFICATION_NTFY_USERNAME",
|
|
"E2E_NOTIFICATION_NTFY_PASSWORD",
|
|
"E2E_NOTIFICATION_WEBHOOK_URL",
|
|
"E2E_NOTIFICATION_WEBHOOK_SECRET_HEADER",
|
|
"E2E_NOTIFICATION_WEBHOOK_SECRET",
|
|
"E2E_STORAGE_AWS_S3_ENDPOINT_URL",
|
|
"E2E_STORAGE_AWS_S3_REGION",
|
|
"E2E_STORAGE_AWS_S3_ACCESS_KEY",
|
|
"E2E_STORAGE_AWS_S3_SECRET_KEY",
|
|
"E2E_STORAGE_AWS_S3_BUCKET_NAME",
|
|
"E2E_STORAGE_AWS_S3_PORT",
|
|
"E2E_STORAGE_R2_ENDPOINT_URL",
|
|
"E2E_STORAGE_R2_REGION",
|
|
"E2E_STORAGE_R2_ACCESS_KEY",
|
|
"E2E_STORAGE_R2_SECRET_KEY",
|
|
"E2E_STORAGE_R2_BUCKET_NAME",
|
|
"E2E_STORAGE_R2_PORT",
|
|
"E2E_STORAGE_GOOGLE_DRIVE_CLIENT_ID",
|
|
"E2E_STORAGE_GOOGLE_DRIVE_CLIENT_SECRET",
|
|
"E2E_STORAGE_GOOGLE_DRIVE_FOLDER_ID",
|
|
] as const;
|
|
|
|
function assertRequiredEnvVars() {
|
|
const missingVars = REQUIRED_E2E_ENV_VARS.filter((name) => {
|
|
const value = process.env[name]?.trim();
|
|
return !value;
|
|
});
|
|
|
|
if (missingVars.length > 0) {
|
|
throw new Error(
|
|
`Missing required environment variables:\n${missingVars.map((name) => `- ${name}`).join("\n")}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
assertRequiredEnvVars();
|
|
|
|
export function getEnv(name: string): string {
|
|
const value = process.env[name]?.trim();
|
|
if (!value) {
|
|
throw new Error(`Missing required environment variable: ${name}`);
|
|
}
|
|
|
|
return value;
|
|
}
|