chore: use pnpm native release management#206
Merged
Conversation
Contributor
posthog-php Compliance ReportDate: 2026-07-23 06:33:17 UTC ✅ All Tests Passed!46/46 tests passed Capture Tests✅ 29/29 tests passed View Details
Feature_Flags Tests✅ 17/17 tests passed View Details
|
Prompt To Fix All With AIFix the following 1 code review issue. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 1
.github/workflows/release.yml:41
**Markdown Body Triggers Release**
This grep scans the whole intent file rather than only its YAML frontmatter. A `none` intent whose summary contains a standalone line such as `posthog-php: patch` is treated as releasable, but `pnpm version -r` still reads the frontmatter as `none`; the candidate job then fails instead of skipping the intent.
Reviews (1): Last reviewed commit: "chore: use pnpm native versioning" | Re-trigger Greptile |
ioannisj
approved these changes
Jul 23, 2026
ioannisj
left a comment
There was a problem hiding this comment.
Greptile comment looks reasonable though, should be scanning frontmatter only
5 tasks
turnipdabeets
added a commit
to PostHog/posthog-kmp
that referenced
this pull request
Jul 23, 2026
* chore: use pnpm native release management instead of @changesets pnpm >=11.13 ships native release management (pnpm change / pnpm version -r), so the repo no longer needs @changesets/cli and @changesets/changelog-github solely to record and apply release intents. Mirrors PostHog/posthog-php#206. - release.yml: pnpm version -r consumes intents, updates CHANGELOG.md and the committed .changeset/ledger.yaml; the trigger check now inspects intent frontmatter so none-only intents don't start a release; no install step needed (zero npm deps remain) - lint-pr.yml: validate intents with pnpm change status (verified it rejects malformed bump types) - bump-version.sh comments updated, pinned sha256 rotated in release.yml - pnpm-workspace.yaml: versioning.changelog.storage: repository, plus minimumReleaseAge for any future npm deps Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: restore changelog commit links and author attribution pnpm's native changelog writes plain summaries; scripts/enrich-changelog.mjs post-processes the fresh section to match the previous changelog-github format: [short-sha](commit-url) prefix, '— Thanks @author!' suffix, and the release date on the version heading. Author resolution failures degrade to a plain entry instead of failing the release. Pinned via EXPECTED_ENRICH_SCRIPT_SHA256 like the bump script. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: thank the PR author in changelog entries, not the commit author Resolve the intent's introducing commit to its associated PR via repos/{repo}/commits/{sha}/pulls (what changelog-github did) and thank the PR author; fall back to the commit author for direct pushes. Hash re-pinned. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore: drop packageManager field, it breaks the Kotlin/JS yarn toolchain kotlinNpmInstall runs yarn 1, whose corepack check rejects a root package.json declaring a non-yarn packageManager. CI pins pnpm 11.13.1 via pnpm/setup and RELEASING.md documents the >=11.13 requirement, so the field was informational only. * chore: drop changelog enrichment, let formatting follow pnpm output * ci: keep required-check job name stable * chore: trim workflow comments --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
💡 Motivation and Context
pnpm now provides native release management, so the PHP SDK no longer needs
@changesets/cliand its dependency tree solely to record and apply release intents.This replaces the Changesets CLI with
pnpm changeandpnpm version -r, while preserving repository-backed changelogs and the existing reviewed release-candidate workflow. The workflow also captures pnpm's release ledger in the verified patch and skipsnone-only intents by inspecting only their YAML frontmatter.💚 How did you test it?
pnpm install --frozen-lockfile --ignore-scriptswith pnpm 11.13.1.git diff --check.noneintent with a misleading releasable-looking summary, malformed frontmatter, and a releasable intent.📝 Checklist
If releasing new changes
pnpm changeto generate a change intent file🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Implemented with Pi's coding tools and read-only reviewer subagents. The migration keeps pnpm pinned to 11.13.1, the first eligible native-versioning release under this repository's seven-day minimum release age, and retains committed changelogs via
versioning.changelog.storage: repository. Review feedback identifiednone-intent handling, a stale PR-template command, and a body-text false positive in the release check; all were fixed and validated before resolving the thread.