Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
02c4f35
Add official PostHog OpenFeature provider
gustavohstrassburger Jun 29, 2026
ab138e7
Address review: reason mapping, init logging, parametrized tests
gustavohstrassburger Jun 29, 2026
59fe00e
Address review: add missing tests and optimize _map_reason
gustavohstrassburger Jun 29, 2026
339a82a
Address review: non-enrollment returns default, _details helper, docs
gustavohstrassburger Jun 29, 2026
cb7ee53
Wire openfeature-provider into release + CI, pin posthog
gustavohstrassburger Jun 29, 2026
e0cc563
Make openfeature-provider a uv workspace member so Sampo manages it
gustavohstrassburger Jun 29, 2026
9dfca3c
Release matrix for N packages; docs-only README + provider CONTRIBUTING
gustavohstrassburger Jun 29, 2026
9d544b8
Drop provider README; point to docs directly
gustavohstrassburger Jun 29, 2026
00fc434
Fix pyproject readme ref and root README docs link
gustavohstrassburger Jun 29, 2026
42db207
Address review: provider changelog title + robust release notes
gustavohstrassburger Jun 30, 2026
68b3c3e
Name-prefix the posthog release tag (posthog-v) like other multi-pack…
gustavohstrassburger Jun 30, 2026
01ce74f
Add changeset for openfeature-provider-posthog initial release
gustavohstrassburger Jun 30, 2026
fae47a8
Add branch-only TestPyPI dry-run to rehearse the provider publish
gustavohstrassburger Jun 30, 2026
017d1ca
Merge branch 'main' into posthog-code/openfeature-provider
gustavohstrassburger Jun 30, 2026
f2f1934
Fix semgrep: pass only required secrets instead of secrets: inherit
gustavohstrassburger Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/call-flags-project-board.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ jobs:
pr_number: ${{ github.event.pull_request.number }}
pr_node_id: ${{ github.event.pull_request.node_id }}
is_draft: ${{ github.event.pull_request.draft }}
secrets: inherit
secrets:
PROJECT_BOARD_BOT_APP_ID: ${{ secrets.PROJECT_BOARD_BOT_APP_ID }}
PROJECT_BOARD_BOT_PRIVATE_KEY: ${{ secrets.PROJECT_BOARD_BOT_PRIVATE_KEY }}
57 changes: 57 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,63 @@ jobs:
- name: Check import produces no warnings
run: python -W error -c "import posthog"

openfeature-provider:
name: OpenFeature provider Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']

steps:
- uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2
with:
fetch-depth: 1

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55
with:
python-version: ${{ matrix.python-version }}

- name: Install uv
uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0
with:
enable-cache: true

# openfeature-provider-posthog is a uv workspace member (declared in
# the root pyproject), so commands are scoped to it with --package and
# builds are pinned to its own dist/ with --out-dir.
- name: Install provider dependencies
shell: bash
working-directory: openfeature-provider
run: |
UV_PROJECT_ENVIRONMENT=$pythonLocation uv sync --package openfeature-provider-posthog --extra dev

- name: Run provider tests
working-directory: openfeature-provider
run: |
uv run --package openfeature-provider-posthog pytest --verbose

- name: Lint and type-check provider
working-directory: openfeature-provider
run: |
uv run --package openfeature-provider-posthog ruff format --check .
uv run --package openfeature-provider-posthog ruff check .
uv run --package openfeature-provider-posthog mypy .

- name: Build and verify provider distribution
working-directory: openfeature-provider
run: |
uv build --package openfeature-provider-posthog --out-dir dist
uv run --with twine twine check dist/*

- name: Smoke test built wheel in a clean environment
working-directory: openfeature-provider
shell: bash
run: |
uv venv /tmp/of-smoke
uv pip install --python /tmp/of-smoke/bin/python dist/*.whl
/tmp/of-smoke/bin/python -c "from openfeature.contrib.provider.posthog import PostHogProvider; print(PostHogProvider)"

django5-integration:
name: Django 5 integration tests
runs-on: ubuntu-latest
Expand Down
Loading
Loading