Conversation
Adds native-sdk-bump.yml, triggered by the native repos' native-sdk-release repository_dispatch (or by hand). It bumps the pinned native version and this SDK's version, opens a PR with the native release notes for the whole skipped range, then runs the Pi coding agent on that PR to implement any public API changes the release needs here. Needs the ANTHROPIC_API_KEY secret; SDK_BOT_TOKEN is recommended so the PR triggers CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015S6mZpaJyu9J5v7NPv2WCS
- dry_run input (workflow_dispatch and the new workflow_call trigger): applies the bump and prints the diff and agent prompt, without pushing, opening a PR or running the agent. - Pass values between steps through $GITHUB_ENV instead of step outputs. Same behaviour on GitHub, and it drops the per-step env mapping blocks; local-ci resolves steps.*.outputs.* to empty strings. - Check for an existing bump branch (and, in KMP, an existing release tag) through the GitHub API instead of git ls-remote, which local-ci stubs. - Ignore file-mode changes when printing diffs. Verified with local-ci in dry-run mode: KMP Android 2.8.0 -> 2.8.4, Flutter iOS 4.16.3 -> 4.17.0 and Expo Android 2.8.3 -> 2.8.4 (pins lowered locally to exercise the bump), plus the already-up-to-date skip path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015S6mZpaJyu9J5v7NPv2WCS
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.
Adds
.github/workflows/native-sdk-bump.yml. It runs on thenative-sdk-releaserepository_dispatchsent by Superwall-Android and Superwall-iOS. It can also be run by hand from the Actions tab (platform, an optional version where blank means latest, anddry_run), or called by another workflow throughworkflow_call.What it does
x.y.zversions are accepted. It does nothing if the pin is already at or above that version, or if anative-sdk/<platform>-<version>branch already exists.develop:android/build.gradle, or the iOS pin in bothios/superwallkit_flutter.podspecandios/superwallkit_flutter/Package.swift.pubspec.yaml. If the current version isn't on pub.dev yet (a release is already staged), the entry joins that release instead.git diff old newfor API changes). It follows CLAUDE.md's Pigeon workflow to implement any new or changed public API, checks the result withflutter analyze,flutter testand an example APK build, and pushes onto the same PR. If nothing is needed, it explains why in the description. If the agent fails, the bump PR stays and gets a comment saying so..github/scripts/native-changelog.pypulls out the version range. It only treats## x.y.zas section boundaries, since Android also uses## Fixessubheadings.changelog-entry.pywrites the CHANGELOG entry.Dry run:
dry_run: trueapplies the bump and prints the diff and the full agent prompt. It pushes nothing, opens no PR and doesn't run the agent.Setup
ANTHROPIC_API_KEYsecret.SDK_BOT_TOKENsecret (recommended): a PAT or App token with contents and pull-requests write. Without it the PR is made withGITHUB_TOKEN, which doesn't trigger other workflows, and you need to enable "Allow GitHub Actions to create and approve pull requests".PI_MODELrepo variable.Testing
pubspec.yamlwent 2.6.0 → 2.6.1 (the pub.dev check worked), and the CHANGELOG entry, 4.17.0 release notes and prompt were all correct. iOS 4.17.0, the current pin, was correctly skipped.main, so for those runsBASE_BRANCHwas pointed atmainlocally. The committed workflow still targetsdevelop.$GITHUB_ENVrather than step outputs, and the branch check goes through the GitHub API instead ofgit ls-remote. Behaviour on GitHub is unchanged.main. Swift can't be compiled on the Linux runner; the agent is told to say so in the PR.Counterparts: superwall/Superwall-Android#473, superwall/Superwall-iOS#538.
🤖 Generated with Claude Code
https://claude.ai/code/session_015S6mZpaJyu9J5v7NPv2WCS