Skip to content

feat(experimentation): gate experimentation on EXPERIMENTATION_ENABLED - #8747

Merged
gagantrivedi merged 4 commits into
mainfrom
feat/experimentation-enabled-setting
Oct 13, 2026
Merged

gagantrivedi merged 4 commits into
mainfrom
feat/experimentation-enabled-setting

Conversation

@gagantrivedi

@gagantrivedi gagantrivedi commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Thanks for submitting a PR! Please check the boxes below:

  • I have read the Contributing Guide.
  • I have added information to docs/ if required so people know about the feature.
  • I have filled in the "Changes" section below.
  • I have filled in the "How did you test this code" section below.

Changes

Experimentation flags alone can't tell whether a self-hosted install has the experimentation infra deployed, so enabling them would expose experiments to installs that can't run them.

  • Add EXPERIMENTATION_ENABLED (default false); experiment and warehouse connection access now require it and their feature flag.
  • Bump flagsmith-common to 3.16.0, which exposes the setting in /version/ as experimentation_enabled for the dashboard (feat(version): expose experimentation_enabled in version info flagsmith-common#278).
  • Set EXPERIMENTATION_ENABLED=true in staging and production admin API and task processor task definitions.
  • Document the variable.

How did you test this code?

New unit tests for both gates with the setting off and the flag on. Experimentation unit and integration suites pass locally.

@gagantrivedi
gagantrivedi requested review from a team as code owners October 13, 2026 08:12
@vercel

vercel Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

3 Skipped Deployments
Project Deployment Actions Updated
docs Ignored Ignored Preview Oct 13, 2026 8:18am UTC
flagsmith-frontend-preview Ignored Ignored Preview Oct 13, 2026 8:18am UTC
flagsmith-frontend-staging Ignored Ignored Preview Oct 13, 2026 8:18am UTC

Request Review

@gagantrivedi
gagantrivedi requested review from a team as code owners October 13, 2026 08:12
@gagantrivedi
gagantrivedi requested review from Holmus and emyller and removed request for a team October 13, 2026 08:12
@github-actions github-actions Bot added api Issue related to the REST API docs Documentation updates infrastructure and removed infrastructure labels Oct 13, 2026
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Docker builds report

Image Build Status Security report
ghcr.io/flagsmith/flagsmith-api:pr-8747 Finished ✅ Results ✅
ghcr.io/flagsmith/flagsmith:pr-8747 Finished ✅ Results ✅
ghcr.io/flagsmith/flagsmith-private-cloud:pr-8747 Finished ✅ Results ✅
ghcr.io/flagsmith/flagsmith-e2e:pr-8747 Finished ✅ Skipped
ghcr.io/flagsmith/flagsmith-frontend:pr-8747 Finished ✅ Results ✅
ghcr.io/flagsmith/flagsmith-api-test:pr-8747 Finished ✅ Skipped
ghcr.io/flagsmith/flagsmith-api:pr-8747 Finished ✅ Results ✅
ghcr.io/flagsmith/flagsmith:pr-8747 Finished ✅ Results ✅
ghcr.io/flagsmith/flagsmith-private-cloud:pr-8747 Finished ✅ Results ✅

@github-actions github-actions Bot added feature New feature or request and removed docs Documentation updates labels Oct 13, 2026
@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 349302c0-7e94-4774-8372-9200bf076270
📥 Commits

Reviewing files that changed from the base of the PR and between c092cd6 and 4a95fbf.

⛔ Files ignored due to path filters (1)
  • api/uv.lock is excluded by !**/*.lock
📒 Files selected for processing (11)
  • api/app/settings/common.py
  • api/app/settings/test.py
  • api/experimentation/services.py
  • api/pyproject.toml
  • api/tests/unit/experimentation/test_services.py
  • docs/docs/deployment-self-hosting/core-configuration/environment-variables.md
  • docs/docs/deployment-self-hosting/observability/_events-catalogue.md
  • infrastructure/aws/production/ecs-task-definition-admin-api.json
  • infrastructure/aws/production/ecs-task-definition-task-processor.json
  • infrastructure/aws/staging/ecs-task-definition-admin-api.json
  • infrastructure/aws/staging/ecs-task-definition-task-processor.json

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

📝 Walkthrough

The API adds the EXPERIMENTATION_ENABLED setting, which defaults to false. Experiment and warehouse feature checks require this setting and their respective OpenFeature flags. Tests cover the disabled-setting behaviour. Staging and production ECS task definitions set the setting to true. Deployment documentation adds the setting, and the event catalogue updates source references.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~12 minutes

Merge Risk: ⚪ Minimal · up to 4a95f

The feature gate is correctly implemented and configured without an established merge-blocking risk.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added docs Documentation updates infrastructure feature New feature or request and removed feature New feature or request infrastructure docs Documentation updates labels Oct 13, 2026
@github-actions github-actions Bot added docs Documentation updates infrastructure labels Oct 13, 2026
@github-actions github-actions Bot added feature New feature or request and removed feature New feature or request infrastructure docs Documentation updates labels Oct 13, 2026
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor
✅ private-cloud · depot-ubuntu-latest-16 — run #21840 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  55.6 seconds
commit  4a95fbf
info  🔄 Run: #21840 (attempt 1)

🗂️ Previous results
✅ private-cloud · depot-ubuntu-latest-arm-16 — run #21840 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)

passed  5 passed

Details

stats  5 tests across 4 suites
duration  47.1 seconds
commit  4a95fbf
info  🔄 Run: #21840 (attempt 1)

✅ private-cloud · depot-ubuntu-latest-16 — run #21839 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  54.1 seconds
commit  382af5e
info  🔄 Run: #21839 (attempt 1)

✅ oss · depot-ubuntu-latest-16 — run #21840 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  37.9 seconds
commit  4a95fbf
info  🔄 Run: #21840 (attempt 1)

✅ oss · depot-ubuntu-latest-arm-16 — run #21840 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  38.4 seconds
commit  4a95fbf
info  🔄 Run: #21840 (attempt 1)

✅ private-cloud · depot-ubuntu-latest-arm-16 — run #21839 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)

passed  3 passed

Details

stats  3 tests across 3 suites
duration  37 seconds
commit  382af5e
info  🔄 Run: #21839 (attempt 1)

✅ private-cloud · depot-ubuntu-latest-arm-16 — run #21838 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  45.8 seconds
commit  d81db9b
info  🔄 Run: #21838 (attempt 1)

✅ private-cloud · depot-ubuntu-latest-16 — run #21838 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-16)

passed  3 passed

Details

stats  3 tests across 3 suites
duration  41.1 seconds
commit  d81db9b
info  🔄 Run: #21838 (attempt 1)

✅ oss · depot-ubuntu-latest-arm-16 — run #21839 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  36.7 seconds
commit  382af5e
info  🔄 Run: #21839 (attempt 1)

✅ oss · depot-ubuntu-latest-arm-16 — run #21838 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  35.9 seconds
commit  d81db9b
info  🔄 Run: #21838 (attempt 1)

✅ oss · depot-ubuntu-latest-16 — run #21838 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  31.3 seconds
commit  d81db9b
info  🔄 Run: #21838 (attempt 1)

✅ oss · depot-ubuntu-latest-16 — run #21839 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-16)

passed  20 passed
skipped  2 skipped

Details

stats  22 tests across 14 suites
duration  1 minute, 6 seconds
commit  382af5e
info  🔄 Run: #21839 (attempt 1)

Skipped tests

firefox › tests/flag-dependencies-test.pw.ts › Flag Dependencies › A flag can be gated behind another, and says so on both sides @oss
firefox › tests/onboarding-tests.pw.ts › Onboarding › New user connects via the single-page onboarding flow @oss

@github-actions github-actions Bot added docs Documentation updates infrastructure feature New feature or request and removed feature New feature or request infrastructure docs Documentation updates labels Oct 13, 2026
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Visual Regression

20 screenshots compared. See report for details.
View full report

@codecov

codecov Bot commented Oct 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.86%. Comparing base (c092cd6) to head (4a95fbf).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8747   +/-   ##
=======================================
  Coverage   98.86%   98.86%           
=======================================
  Files        1675     1675           
  Lines       69664    69676   +12     
=======================================
+ Hits        68875    68887   +12     
  Misses        789      789           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gagantrivedi
gagantrivedi merged commit 6337405 into main Oct 13, 2026
35 checks passed
@gagantrivedi
gagantrivedi deleted the feat/experimentation-enabled-setting branch October 13, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api Issue related to the REST API feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants