Skip to main content

mz-dbt-release

Cut a dbt-materialize PyPI release: bump the version in `__version__.py` and `setup.py`, date the `Unreleased` CHANGELOG entry, and open the release PR with a `Ship: <url>` body. Trigger: "cut a dbt release", "release dbt-materialize", "release the dbt adapter", "ship dbt-materialize vX.Y.Z", "publish dbt-materialize to PyPI", "bump dbt-materialize version", "new dbt adapter version". Use this skill even if the user just says "ship the dbt adapter" or pastes a feature PR and asks for "the next dbt release" without naming version mechanics.

Quellinformationen

Repository
MaterializeInc/materialize
Letzte Quellaktivität
20. Mai 2026 um 19:38
Erkannte Sprache von SKILL.md
Englisch
Sterne
6.383
Forks
515

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
mz-dbt-release
description
Cut a dbt-materialize PyPI release: bump the version in `__version__.py` and `setup.py`, date the `Unreleased` CHANGELOG entry, and open the release PR with a `Ship: <url>` body. Trigger: "cut a dbt release", "release dbt-materialize", "release the dbt adapter", "ship dbt-materialize vX.Y.Z", "publish dbt-materialize to PyPI", "bump dbt-materialize version", "new dbt adapter version". Use this skill even if the user just says "ship the dbt adapter" or pastes a feature PR and asks for "the next dbt release" without naming version mechanics.
# Cutting a dbt-materialize release A release PR bumps the published version of the `dbt-materialize` PyPI package. It is mechanical: three files change, one commit, one PR. The adapter lives in `misc/dbt-materialize/`. PyPI publication is handled by CI after the PR merges. ## Files to touch Exactly three files: | File | Change | |---|---| | `misc/dbt-materialize/dbt/adapters/materialize/__version__.py` | Bump `version = "X.Y.Z"` | | `misc/dbt-materialize/setup.py` | Bump `version="X.Y.Z"` (kwarg in `setup(...)`) | | `misc/dbt-materialize/CHANGELOG.md` | Insert `## X.Y.Z - YYYY-MM-DD` between `## Unreleased` and the existing bullets | Both version strings must stay in sync — the comments in each file say so. ## Picking the next version * Default: bump the **patch** component (`1.9.9 → 1.9.10`). * The **minor** component tracks the required `dbt-postgres` minor. Only bump minor when upgrading to a new `dbt-postgres` minor (e.g. `1.9.x → 1.10.0`). * Read the current version from `__version__.py`. ## Confirming what's being released The `## Unreleased` section of `CHANGELOG.md` is the source of truth for what ships. If it's empty, there is nothing to release. Cross-check with: ``` git log <prev-release-sha>..HEAD -- misc/dbt-materialize/ ``` If a commit since the previous release touched `misc/dbt-materialize/` but is not represented under `## Unreleased`, stop and ask whether it should be included — don't silently invent a changelog entry. ## CHANGELOG edit The release does **not** rewrite the unreleased bullets; it just dates them. Insert a new dated heading immediately after `## Unreleased`, leaving `## Unreleased` itself empty: ``` ## Unreleased ## 1.9.10 - 2026-05-20 * Support unmanaged clusters in `deploy_init`. ... ``` Use today's date in `YYYY-MM-DD`. ## Branch, commit, PR * Branch name: `dbt-release-X.Y.Z`, branched from current `main`. * Commit subject: `dbt-materialize: release vX.Y.Z` * Commit body / PR body: a single `Ship: <url>` line pointing at the PR that triggered this release (the feature/fix PR being shipped). If multiple PRs are being shipped, pick the headline one — the changelog already enumerates them. * PR title: same as the commit subject. * PR targets `MaterializeInc/materialize:main`. Example: ``` gh pr create --repo MaterializeInc/materialize --base main \ --head <your-fork>:dbt-release-1.9.10 \ --title "dbt-materialize: release v1.9.10" \ --body "Ship: https://github.com/MaterializeInc/materialize/pull/36625" ``` ## What you do NOT run This PR touches only Python version strings and Markdown. Skip: * `cargo check`, `cargo clippy`, Cargo.lock work — no Rust changes. * Test suites — there are no tests to add for a version bump. `bin/fmt` and `bin/lint` cover `misc/dbt-materialize/*.py`, but a one-character version bump almost never triggers them. Run them if you've made an accidental wider change; otherwise they're optional. ## Verifying before pushing ``` git diff --stat ``` Should show exactly three files, predominantly a `+4 / -2` shape (one line each in the two version files, two added lines in `CHANGELOG.md`). A few extra lines in `CHANGELOG.md` are fine if a bullet was reformatted while finalising it; an unexpected fourth file means you've gone off-script. ## Quick reference ``` # 1. Branch git checkout -b dbt-release-X.Y.Z # 2. Edit the three files (see table above) # 3. Verify git diff --stat # expect 3 files, +4/-2 # 4. Commit git commit -am "dbt-materialize: release vX.Y.Z Ship: <feature-pr-url>" # 5. Push and open PR git push -u origin dbt-release-X.Y.Z gh pr create --repo MaterializeInc/materialize --base main \ --head <your-fork>:dbt-release-X.Y.Z \ --title "dbt-materialize: release vX.Y.Z" \ --body "Ship: <feature-pr-url>" ``` ## Historical reference Recent release commits (find via `git log --oneline -- misc/dbt-materialize/dbt/adapters/materialize/__version__.py`): * v1.9.10 — PR #36636 * v1.9.9 — PR #36609 * v1.9.8 — PR #36529 Inspect any of them with `git show <sha>` to see the exact diff shape.
Auf GitHub ansehen