Skip to content

Discoverability: demo GIF, GHCR, ClickHouse version matrix, community files - #66

Merged
Maksim-Burtsev merged 6 commits into
masterfrom
promo
Aug 23, 2026
Merged

Discoverability: demo GIF, GHCR, ClickHouse version matrix, community files#66
Maksim-Burtsev merged 6 commits into
masterfrom
promo

Conversation

@Maksim-Burtsev

Copy link
Copy Markdown
Owner

Removes the technical blockers that stop people from trying the tool, and the missing signals that stop them from trusting it with a production schema.

Half of the usual "promote your repo" checklist was already done (topics, description, Docker version tags, multiarch, PyPI metadata, releases with notes, a comparison page). This covers what was actually missing.

Demo GIF

assets/demo.gif — 22s, 175K: initnew → the migration file → up --dry-runupshowrollback, against a live ClickHouse.

Rendered from demo/demo.tape by .github/workflows/demo.yml (manual trigger, or when the tape changes), so it never has to be recorded by hand. The committed GIF was rendered locally with the same tape.

README first screen reordered: logo → one-line positioning → GIF → install → badges. Nothing below the fold changed.

GHCR

release.yml pushes the same multiarch tags to ghcr.io/maksim-burtsev/pyclickhousemigrator alongside Docker Hub — companies that hit Docker Hub rate limits block it at the infra level. Documented in README and docs/docker.md.

Also fixed org.opencontainers.image.licenselicenses in the Dockerfile (the singular form is not a valid OCI key, so that label was being ignored).

ClickHouse version matrix

CI tested only clickhouse-server:latest. Now 24.8 and 25.3 alongside latest, same job count as before. Verified locally: 214 tests pass on 24.8, 25.3, and latest.

Badge added to the README — "tested on three ClickHouse versions" is a stronger signal than a coverage number for a tool that runs DDL against production.

Trust signals

  • SECURITY.md, CONTRIBUTING.md, issue forms, PR template
  • LICENCE.txtLICENSE so GitHub detects the license
  • CHANGELOG.txtCHANGELOG.md; the PyPI Changelog link now points at the file
  • README section stating semver and 2.x production readiness

Comparison page

docs/why-pyclickhousemigrator.md now names golang-migrate, Atlas, dbt, and Alembic, each with where it is the better choice. People search for "alembic for clickhouse" and "golang-migrate clickhouse"; the page covered neither.

Verification

  • ruff check / ruff format --check / mypy clean
  • 214 tests pass against ClickHouse 24.8, 25.3, and latest
  • zensical build --strict clean
  • all workflow YAML parses

Note: the README GIF renders as broken in this PR — the raw.githubusercontent URL points at master and resolves once merged.

🤖 Generated with Claude Code

Maksim-Burtsev and others added 6 commits August 23, 2026 00:37
- SECURITY.md with private advisory reporting and supported versions
- CONTRIBUTING.md with the exact CI checks and compose-based test setup
- issue forms, issue template config, PR template
- LICENCE.txt -> LICENSE so GitHub detects the license
- CHANGELOG.txt -> CHANGELOG.md with markdown headings; pyproject Changelog
  URL now points at the file instead of the releases page

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- release.yml now pushes the same multiarch tags to ghcr.io alongside Docker
  Hub, so users behind Docker Hub rate limits have a mirror
- ci.yml test matrix pins ClickHouse 24.8 and 25.3 next to latest instead of
  only testing latest; same job count as before
- Dockerfile: fix org.opencontainers.image.licenses (was .license, an invalid
  key) and add title/description/documentation labels

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- demo/demo.tape renders init -> new -> cat -> up --dry-run -> up -> show ->
  rollback against a live ClickHouse (22s, 175K)
- demo/events.sql is the migration the tape writes off-camera
- .github/workflows/demo.yml re-renders the GIF in CI (workflow_dispatch, or
  when the tape changes) and commits assets/demo.gif, so it never has to be
  recorded by hand
- README first screen reordered: logo -> one-line positioning -> GIF -> install
  -> badges. Added a ClickHouse-versions badge, a GHCR pull line, and
  Versioning/Contributing sections stating semver and 2.x production readiness

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
People search for "alembic for clickhouse" and "golang-migrate clickhouse";
the page previously covered only Goose, Flyway, Liquibase, and
clickhouse-migrations. Each new row states where that tool is the better
choice, which is also the honest answer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Packaging and distribution only, no CLI or migration behavior changes. The
release exists to publish the first GHCR image — that job runs on a v* tag.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The master ruleset requires status checks named exactly 'Test (Python 3.11)'
through 'Test (Python 3.14)'. Renaming the jobs to include the ClickHouse
version meant those checks would never report again, permanently blocking
every PR into master — including this one.

The ClickHouse version now shows up in the test step name and the Codecov
flag instead of the job name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Maksim-Burtsev
Maksim-Burtsev merged commit 01d90aa into master Aug 23, 2026
8 checks passed
@Maksim-Burtsev
Maksim-Burtsev deleted the promo branch August 23, 2026 16:11
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.

1 participant