extending-hobby-smoke-tests

Design and debug end-to-end smoke tests for PostHog Hobby CI deployments.

713|118|Updated Aug 11, 2020
One-click install
npx skills add https://github.com/PostHog/posthog-foss --skill extending-hobby-smoke-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: extending-hobby-smoke-tests
Source: https://github.com/PostHog/posthog-foss/tree/main/.agents/skills/extending-hobby-smoke-tests
Command: npx skills add https://github.com/PostHog/posthog-foss --skill extending-hobby-smoke-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Adding end-to-end coverage to PostHog Hobby CI is risky: a weak check can pass while the product is broken, and a wrong check can demand services or flags that no supported Hobby install has. This Skill guides you through deciding whether a product belongs in Hobby smoke tests, mapping the full ingestion round trip, and diagnosing failures by boundary.

Core Features & Use Cases

  • Eligibility Gatekeeping: Decide whether a product check belongs in Hobby CI based on supported status, boundary coverage, and released image topology.
  • Round-Trip Mapping: Trace the chain from public ingest endpoint through consumer, storage, and read API before editing bin/hobby-ci.py.
  • Failure Diagnosis: Classify failures by boundary (capture 4xx, API 401/403, empty query results, missing containers) to target the right fix.
  • Use Case: You want to add an ingestion round trip for a newly stable product. Use this Skill to verify the consumer exists in the released image, pick the minimal API-key scope, write a bounded polling assertion, and validate with py_compile and ruff before running full Hobby CI.

Quick Start

Help me add a smoke test for a new product's ingestion round trip in bin/hobby-ci.py and verify it belongs in Hobby CI.

Frequently Asked Questions about extending-hobby-smoke-tests

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a smoke test to PostHog Hobby CI?

Add the round trip in bin/hobby-ci.py and only the least read scope in bin/hobby-ci-setup-user.py. Map the chain from ingest endpoint through consumer, storage, and read API first, then poll the read API with an exact unique identifier until the stored object appears.

When should a product check be added to Hobby smoke tests?

Add a check only when the product is supported for Hobby and no longer alpha, a break can leave the install apparently healthy, the check crosses boundaries unit tests cannot cover, and all required services exist in the released images and default compose topology.

Why does my Hobby smoke test capture data but return empty query results?

A successful capture response proves receipt, not ingestion. Empty exact queries usually indicate payload semantics issues, a missing consumer, routing problems, or storage failures; verify the consumer is registered and started by the default Hobby compose files.

What validation should run before triggering full Hobby CI?

Run python3 -m py_compile, ruff check, ruff format --check, and git diff --check on the changed scripts. When compose or installer files change, also render the final compose configuration and run the focused installer tests before a full deployment.

Can I use a feature flag or custom image to test an alpha product in Hobby CI?

No. Do not add checks requiring private feature flags, CI-only service topology, or different image registries just to reach an alpha path. Test that path at a lower layer until it becomes part of the supported Hobby install.