Repository navigation
ci(repo): support a second publishable package released in lockstep - #54
Draft
VelikovPetar wants to merge 1 commit into
Draft
VelikovPetar wants to merge 1 commit into
VelikovPetar wants to merge 1 commit into
Conversation
Prepare CI and release tooling for stream_chat_flutter_ai_ondevice, which ships with the same version as stream_chat_flutter_ai from one v<X.Y.Z> tag. Everything iterates over the publishable packages under packages/, so it works before the ondevice package lands. - pr_title: add the `ondevice` scope, mapped to its CHANGELOG. - release_tag / release_publish: verify every publishable pubspec matches the tag, and that lockstep constraints are ^X.Y.Z (new verify-release-versions.sh); dry-run every publishable package. - release:pub: fail fast and retry each upload once after a minute, since a dependent needs its sibling's new version on pub.dev. - package_analysis: analyze and test each package under packages/. - release-pr skill and CLAUDE.md: describe lockstep releases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 tasks
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.
Prepares CI and the release tooling for a second publishable package,
stream_chat_flutter_ai_ondevice, released in lockstep withstream_chat_flutter_ai: both packages share oneversion:, onev<X.Y.Z>tag publishes both, and the ondevice package depends onstream_chat_flutter_ai: ^<X.Y.Z>.Everything iterates over the publishable packages under
packages/(a pubspec withoutpublish_to: none), so this works onmaintoday, before the ondevice package exists.Changes
pr_title.yml— adds theondevicescope; anondevicePR must updatepackages/stream_chat_flutter_ai_ondevice/CHANGELOG.md.scripts/verify-release-versions.sh(new) — fails a release when any publishable package'sversion:differs from the tag, or when a dependency on another publishable package isn't^X.Y.Z. Used by both release workflows.release_tag.yml/release_publish.yml— "Verify Tag" calls the script; the dry run now covers every publishable package (melos exec --no-private --order-dependents).release:pub— fails fast, and retries a failed upload once after 60s:orderDependentspublishes the core package first, but pub.dev may need a moment before a dependent can upload against the new version. A workflow re-run still skips packages already published.package_analysisaction (legacy / beta Flutter) — analyzes and tests each package underpackages/, not only the core one.release-prskill /CLAUDE.md— describe lockstep releases: bump both versions and the constraint (root bootstrap list), promote## Upcomingin both CHANGELOGs, update all install snippets.Only verifiable on a real tag push
Testing
melos run analyze/melos run formatpass.v0.1.0onmainand with the ondevice package present, and reports each mismatch for a wrong tag or a stale constraint.🤖 Generated with Claude Code