Skip to content

ci: Run the Flagsmith SDK behavioural spec - #110

Merged
khvn26 merged 5 commits into
mainfrom
feat/sdk-spec
Oct 21, 2026
Merged

khvn26 merged 5 commits into
mainfrom
feat/sdk-spec

Conversation

@khvn26

@khvn26 khvn26 commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Runs the Flagsmith SDK behavioural spec against this SDK on every pull request and push to main.

  • sdk-spec/steps.rb: one method per SDK step, marked with the Gherkin step text as a comment. It contains only SDK calls and the mapping to the spec's flag shape, so it doubles as a CI-checked usage example:

    # When the application gets the environment flags
    def get_environment_flags(flagsmith)
      as_spec_flags(flagsmith.get_environment_flags)
    end
  • sdk-spec/Dockerfile: builds and installs the gem from source, and runs the steps file under the spec's Ruby harness, taken from the harness build context. The harness speaks JSON lines over stdio, so there is no HTTP server in this repo.

  • .github/workflows/sdk-spec.yml: calls the spec's reusable workflow with language: ruby. It is pinned to v0.3.0.

  • renovate.json: bumps the uses: ref and spec-ref together.

  • flagsmith.gemspec: excludes sdk-spec/ from the published gem.

The spec currently covers getting environment flags and getting identity flags with traits.

@khvn26
khvn26 requested a review from a team as a code owner October 21, 2026 10:50
@khvn26
khvn26 requested review from emyller and removed request for a team October 21, 2026 10:50
@khvn26 khvn26 added the hackathon Hackathon work label Oct 21, 2026
@khvn26
khvn26 merged commit 74be985 into main Oct 21, 2026
5 checks passed
@khvn26
khvn26 deleted the feat/sdk-spec branch October 21, 2026 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hackathon Hackathon work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants