Files
supabase/turbo.json
Matt RossmanandAli Waseem 851cc00545 feat(assistant): run 3 trials for Assistant evals in CI (#42510)
Runs 3 trials for Assistant evals in CI to reduce random variation.
Locally, only 1 trial is run.

Also adds `CI` to `studio#build` env in turbo.json. This env var is
[automatically set by GitHub
Actions](https://github.blog/changelog/2020-04-15-github-actions-sets-the-ci-environment-variable-to-true/).

Compare number of trials:
- [Assistant
(mattrossman/ai-398-increase-trial-count-for-assistant-evals-1770305591)](https://www.braintrust.dev/app/supabase.io/p/Assistant/experiments/mattrossman%2Fai-398-increase-trial-count-for-assistant-evals-1770305591)
- [Assistant
(master)](https://www.braintrust.dev/app/supabase.io/p/Assistant/experiments/master-1770305906?c=mattrossman/ai-398-increase-trial-count-for-assistant-evals-1770305591)

References:
- https://www.braintrust.dev/docs/evaluate/run-evaluations#trials

Closes AI-398

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated evaluation configuration to adjust trial counts based on CI
environment
  * Integrated CI environment variable into build system configuration

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2026-02-05 11:21:44 -05:00

296 lines
8.3 KiB
JSON

{
"$schema": "https://turbo.build/schema.json",
"ui": "stream",
"tasks": {
"build": {
"dependsOn": [
"^build"
],
"outputs": [
"dist/**",
".next/**"
]
},
"cms#build": {
"dependsOn": [
"^build"
],
"env": [
"BLOG_APP_URL",
"CRON_SECRET",
"DATABASE_URI",
"NEXT_PUBLIC_VERCEL_BRANCH_URL",
"NEXT_PUBLIC_SERVER_URL",
"NEXT_PUBLIC_VERCEL_ENV",
"NODE_ENV",
"PAYLOAD_SECRET",
"PREVIEW_SECRET",
"S3_BUCKET",
"S3_ACCESS_KEY_ID",
"S3_SECRET_ACCESS_KEY",
"S3_REGION",
"S3_ENDPOINT",
"VERCEL_PROJECT_PRODUCTION_URL"
],
"outputs": [
".next/**",
"!.next/cache/**"
]
},
"design-system#build": {
"dependsOn": [
"^build"
],
"env": [
"NEXT_PUBLIC_BASE_PATH",
"NEXT_PUBLIC_APP_URL",
// These envs are used in the packages
"NEXT_PUBLIC_STORAGE_KEY",
"NEXT_PUBLIC_AUTH_DEBUG_KEY",
"NEXT_PUBLIC_AUTH_PERSISTED_KEY",
"NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY",
"NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL",
"NEXT_PUBLIC_GOTRUE_URL",
"NEXT_PUBLIC_SUPABASE_ANON_KEY"
],
"outputs": [
".next/**",
"!.next/cache/**",
".contentlayer/**"
]
},
"studio#build": {
"dependsOn": [
"^build"
],
"env": [
"ANALYZE",
"CI",
"NEXT_PUBLIC_SUPPORT_API_URL",
"NEXT_PUBLIC_CONTENT_API_URL",
"NEXT_PUBLIC_BASE_PATH",
"NEXT_PUBLIC_STRIPE_PUBLIC_KEY",
"NEXT_PUBLIC_SUPPORT_ANON_KEY",
"NEXT_PUBLIC_ENVIRONMENT",
"NEXT_PUBLIC_IS_PLATFORM",
"NEXT_PUBLIC_SITE_URL",
"NEXT_PUBLIC_API_URL",
"NEXT_PUBLIC_DOCS_URL",
"NEXT_PUBLIC_CONFIGCAT_SDK_KEY",
"NEXT_PUBLIC_CONFIGCAT_PROXY_URL",
"NEXT_PUBLIC_HCAPTCHA_SITE_KEY",
"NEXT_PUBLIC_SUPABASE_URL",
"NEXT_PUBLIC_SUPABASE_ANON_KEY",
"NEXT_PUBLIC_NODE_ENV",
"NEXT_PUBLIC_GOTRUE_URL",
"NEXT_PUBLIC_VERCEL_BRANCH_URL",
"NEXT_PUBLIC_GOOGLE_MAPS_KEY",
"NEXT_RUNTIME",
"NIMBUS_PROD_PROJECTS_URL",
"NIMBUS_PROD_PROJECTS_URL_WS",
"NODE_ENV",
"SUPABASE_URL",
"VERCEL",
"VERCEL_ENV",
"MAINTENANCE_MODE",
// These envs are used in the packages
"NEXT_PUBLIC_STORAGE_KEY",
"NEXT_PUBLIC_AUTH_DEBUG_KEY",
"NEXT_PUBLIC_AUTH_PERSISTED_KEY",
"NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY",
"NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL",
"NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID",
"NEXT_PUBLIC_VERCEL_ENV",
"NEXT_PUBLIC_USERCENTRICS_RULESET_ID",
"NEXT_PUBLIC_MCP_URL",
"NEXT_PUBLIC_IS_NIMBUS",
"NEXT_PUBLIC_ONGOING_INCIDENT",
// These envs are technically passthrough env vars because they're only used on the server side of Nextjs
"PLATFORM_PG_META_URL",
"STUDIO_PG_META_URL",
"PG_META_CRYPTO_KEY",
"POSTGRES_PASSWORD",
"POSTGRES_HOST",
"POSTGRES_USER_READ_WRITE",
"POSTGRES_USER_READ_ONLY",
"POSTGRES_DB",
"POSTGRES_PORT",
"READ_ONLY_URL",
"READ_ONLY_API_KEY",
"SUPABASE_SERVICE_KEY",
"SUPABASE_ANON_KEY",
"SUPABASE_PUBLIC_URL",
"DEFAULT_PROJECT_NAME",
"DEFAULT_ORGANIZATION_NAME",
"OPENAI_API_KEY",
"BRAINTRUST_API_KEY",
"BRAINTRUST_PROJECT_ID",
"AUTH_JWT_SECRET",
"LOGFLARE_API_KEY",
"LOGFLARE_PUBLIC_ACCESS_TOKEN",
"LOGFLARE_PRIVATE_ACCESS_TOKEN",
"LOGFLARE_URL",
"SENTRY_ORG",
"SENTRY_PROJECT",
"SENTRY_AUTH_TOKEN",
"NEXT_PUBLIC_SENTRY_DSN",
"AWS_BEDROCK_PROFILE",
"AWS_BEDROCK_ROLE_ARN",
"AWS_ACCESS_KEY_ID",
"AWS_SECRET_ACCESS_KEY",
"FORCE_ASSET_CDN",
"ASSET_CDN_S3_ENDPOINT",
"SITE_NAME",
"VERCEL_URL",
"IS_THROTTLED",
"AI_PRO_MODEL",
"AI_NORMAL_MODEL",
"SUPPORT_SUPABASE_SECRET_KEY",
"STATUSPAGE_API_KEY",
"STATUSPAGE_PAGE_ID"
],
"passThroughEnv": [
"CURRENT_CLI_VERSION",
"VERCEL_GIT_COMMIT_SHA",
"SNIPPETS_MANAGEMENT_FOLDER",
"EDGE_FUNCTIONS_MANAGEMENT_FOLDER"
],
"outputs": [
".next/**",
"!.next/cache/**"
]
},
"www#build": {
"dependsOn": [
"^build"
],
"env": [
"ANALYZE",
"CI",
"CF_ACCESS_CLIENT_ID",
"CF_ACCESS_CLIENT_SECRET",
"CMS_API_KEY",
"CMS_PREVIEW_SECRET",
"CMS_SITE_ORIGIN",
"NEXT_PUBLIC_MISC_USE_URL",
"NEXT_PUBLIC_MISC_USE_ANON_KEY",
"NEXT_PUBLIC_STUDIO_URL",
"NEXT_PUBLIC_DOCS_URL",
"NEXT_PUBLIC_REFERENCE_DOCS_URL",
"NEXT_PUBLIC_UI_LIBRARY_URL",
"NEXT_PUBLIC_SUPABASE_URL",
"NEXT_PUBLIC_SUPABASE_ANON_KEY",
"NEXT_PUBLIC_VERCEL_ENV",
"NEXT_PUBLIC_VERCEL_BRANCH_URL",
"NEXT_PUBLIC_API_URL",
"NEXT_PUBLIC_HCAPTCHA_SITE_KEY",
"HCAPTCHA_SECRET_KEY",
"NODE_ENV",
"NEXT_PUBLIC_SENTRY_DSN",
"NEXT_PUBLIC_SURVEY_SUPABASE_URL",
"NEXT_PUBLIC_SURVEY_SUPABASE_ANON_KEY",
"VERCEL",
"VERCEL_ENV",
"VERCEL_GIT_COMMIT_SHA",
// These envs are used in the packages
"NEXT_PUBLIC_STORAGE_KEY",
"NEXT_PUBLIC_AUTH_DEBUG_KEY",
"NEXT_PUBLIC_AUTH_PERSISTED_KEY",
"NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY",
"NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID",
"NEXT_PUBLIC_IS_PLATFORM",
"NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL",
"NEXT_PUBLIC_GOTRUE_URL",
"NEXT_PUBLIC_BASE_PATH",
"NEXT_PUBLIC_EXAMPLES_SUPABASE_ANON_KEY",
"NEXT_PUBLIC_EXAMPLES_SUPABASE_URL",
"NEXT_PUBLIC_USERCENTRICS_RULESET_ID",
// These envs are technically passthrough env vars because they're only used on the server side of Nextjs
"LIVE_SUPABASE_COM_SERVICE_ROLE_KEY",
"GITHUB_CHANGELOG_APP_ID",
"GITHUB_CHANGELOG_APP_INSTALLATION_ID",
"GITHUB_CHANGELOG_APP_REST_KEY",
"GITHUB_CHANGELOG_APP_PRIVATE_KEY",
"NEXT_PUBLIC_EMAIL_ABUSE_URL",
"EMAIL_ABUSE_SERVICE_KEY",
"HUBSPOT_PORTAL_ID",
"HUBSPOT_ENTERPRISE_FORM_GUID",
"HUBSPOT_PARTNERSHIP_FORM_GUID",
"OPENAI_API_KEY",
"EMAIL_REPORT_SLACK_WEBHOOK",
"npm_lifecycle_event",
"AWS_ACCESS_KEY_ID",
"AWS_SECRET_ACCESS_KEY",
"FORCE_ASSET_CDN",
"ASSET_CDN_S3_ENDPOINT",
"SITE_NAME",
"LUMA_API_KEY",
"NEXT_RUNTIME",
// These env vars are used by some community and marketing integrations
"SENTRY_DSN_COMMUNITY",
"NOTION_SUPASQUAD_API_KEY",
"NOTION_SUPASQUAD_APPLICATIONS_DB_ID",
"NEXT_PUBLIC_SUPASQUAD_APPLICATION_FORM_URL",
"CUSTOMERIO_SITE_ID",
"CUSTOMERIO_API_KEY",
"CUSTOMERIO_APP_API_KEY"
],
"outputs": [
".next/**",
"!.next/cache/**",
".contentlayer/**"
]
},
"ui-library#build": {
"dependsOn": [
"^build"
],
"env": [
"NEXT_PUBLIC_BASE_PATH",
"NEXT_PUBLIC_APP_URL",
"NEXT_PUBLIC_VERCEL_TARGET_ENV",
"NEXT_PUBLIC_VERCEL_BRANCH_URL",
"NEXT_PUBLIC_API_URL",
"NODE_ENV",
"HIDE_TAILWIND_INDICATOR",
// These envs are used in the packages
"NEXT_PUBLIC_STORAGE_KEY",
"NEXT_PUBLIC_AUTH_DEBUG_KEY",
"NEXT_PUBLIC_AUTH_PERSISTED_KEY",
"NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY",
"NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL",
"NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID",
"NEXT_PUBLIC_GOTRUE_URL",
"NEXT_PUBLIC_SUPABASE_ANON_KEY",
"NEXT_PUBLIC_USERCENTRICS_RULESET_ID",
"SUPABASE_MANAGEMENT_API_TOKEN",
"OPENAI_API_KEY"
],
"outputs": [
".next/**",
"!.next/cache/**",
".contentlayer/**"
]
},
"lint": {
"outputs": []
},
"clean": {
"outputs": [],
"cache": false
},
"dev": {
"cache": false
},
"test": {
"cache": false
},
"typecheck": {
"dependsOn": [
"^typecheck"
],
"outputs": []
}
}
}