Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install FlipFlop gem #8446

Merged
merged 1 commit into from
Nov 3, 2023
Merged

Install FlipFlop gem #8446

merged 1 commit into from
Nov 3, 2023

Conversation

ryanb-gds
Copy link
Contributor

We are installing the FlipFlop gem to enable us to use feature flags with a lower barrier to entry that the current process of using user permissions. The FlipFlop gem can store feature flag information inside the Whitehall database, meaning that we no longer have to create permissions inside of signon to deploy code without releasing it to users.

We have disabled the cookie strategy because our main use case at the moment is toggling features on and off in different environments, but we may consider using it in future if our needs change.

We have also only enabled the Flipflop user interface in local development environments. Developers will use the rake task provided by the library to toggle features in cloud environments.

This PR also switches the FlipFlop strategy to use an in-memory store for feature flag data during controller tests. I don't think we should be testing for feature flags lower than the controller level so this seems reasonable, but let me know if I have missed a possible case where we might need to do that.

Trello: https://trello.com/c/8f9xSARb

@ryanb-gds ryanb-gds force-pushed the install-flipflop-gem branch from 918bf25 to 730705c Compare November 2, 2023 13:58
@davidgisbey
Copy link
Contributor

davidgisbey commented Nov 2, 2023

Looks great. I'll hold off on approving until others have looked. I do wonder if down the line it'd be nice to extend the UI to designers etc. on integration, but i understand that comes with quite a bit of overhead.

Regardless this is a good first step!

@ryanb-gds ryanb-gds changed the title Installed FlipFlop gem Install FlipFlop gem Nov 2, 2023
Copy link
Contributor

@beccapearce beccapearce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me!

Copy link
Contributor

@ollietreend ollietreend left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking good. One minor comment from me.

Thanks for adding a doc for this too ⭐

config/routes.rb Show resolved Hide resolved
We are installing the FlipFlop gem to enable us to use feature flags with a lower barrier to entry that the current process of using user permissions. The FlipFlop gem can store feature flag information inside the Whitehall database, meaning that we no longer have to create permissions inside of signon to deploy code without releasing it to users.

We have disabled the cookie strategy because our main use case at the moment is toggling features on and off in different environments, but we may consider using it in future if our needs change.

We have also only enabled the Flipflop user interface in local development environments. Developers will use the rake task provided by the library to toggle features in cloud environments.

This commit also switches the FlipFlop strategy to use an in-memory store for feature flags and makes the flag data available to test cases.
@ryanb-gds ryanb-gds force-pushed the install-flipflop-gem branch from 730705c to 54350ae Compare November 3, 2023 10:15
@ryanb-gds ryanb-gds merged commit 298e07c into main Nov 3, 2023
15 checks passed
@ryanb-gds ryanb-gds deleted the install-flipflop-gem branch November 3, 2023 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants