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.

Informations de source

Dépôt
MaterializeInc/materialize
Dernière activité de la source
20 mai 2026 à 19:38
Langue détectée de SKILL.md
anglais
Étoiles
6 388
Forks
516

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.
Voir sur GitHub