Background
Stoplight guarantees that all data stores behave identically. The cucumber feature suite encodes that guarantee: the same scenarios run against each backend, chosen by the STOPLIGHT_DATA_STORE environment variable, so a new backend must pass the same behavioral suite as Redis and Memory. This ticket adds the ActiveRecord run to that suite and to CI.
Goal
Run the cucumber feature suite against the ActiveRecord backend, extending the backend-parity gate to cover it.
What to do
- Add an ActiveRecord branch to the cucumber data-store selection, driven by
STOPLIGHT_DATABASE_URL (SQLite default), with its own cleaner.
- Run the ActiveRecord cucumber suite on SQLite in the CI features job.
- Update the contributor testing docs to list the new
STOPLIGHT_DATA_STORE value.
Acceptance criteria
References
Background
Stoplight guarantees that all data stores behave identically. The cucumber feature suite encodes that guarantee: the same scenarios run against each backend, chosen by the
STOPLIGHT_DATA_STOREenvironment variable, so a new backend must pass the same behavioral suite as Redis and Memory. This ticket adds the ActiveRecord run to that suite and to CI.Goal
Run the cucumber feature suite against the ActiveRecord backend, extending the backend-parity gate to cover it.
What to do
STOPLIGHT_DATABASE_URL(SQLite default), with its own cleaner.STOPLIGHT_DATA_STOREvalue.Acceptance criteria
STOPLIGHT_DATA_STORE=ActiveRecord bundle exec cucumberpasses locally on SQLite with no services running.References
features/features/stoplight/support/stoplight_world.rb.github/workflows/ci.ymldocs/testing.md