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
|
CI: "Linux (common + Android + host tests)" fails, but not because of this PR. This PR only adds The job fails in Set up Android SDK ( No fix exists yet. Proposed patch for - name: Set up Android SDK
uses: android-actions/setup-android@v3
+ with:
+ packages: 'platform-tools'I'd land that separately, or on this branch if you'd rather keep it together. Generated by Claude Code |
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.gradle/libs.versions.toml, or the iOS pin in bothPackage.swiftandbridge/Package.swift. Only theexact:SuperwallKit pin is changed; the url/checksum lines stay owned by the release workflow.version.env, but only if the current version is already tagged. Otherwise a release is staged and the entry joins it.git diff old newfor API changes). It follows.claude/CLAUDE.mdand.agents/AGENTS.md: commonMain-only public API, explicitApi, and the bridge for iOS. It also updates the compileOnly pins inlibs.versions.tomlif superwall-android's own dependencies moved. On Android it checks withcompileAndroidMainandtestAndroidHostTest, then 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.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, so it's safe to try onmain.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 triggerci.yml, and you need to enable "Allow GitHub Actions to create and approve pull requests".PI_MODELrepo variable.Testing
workflow_callcaller. Android 2.8.0 → 2.8.4: every step passed, with the pin bumped, the CHANGELOG entry added, all 2.8.1–2.8.4 release notes (including thehandleLogbackground-thread breaking change) and the prompt built.version.env0.1.1 → 0.1.2 and an iOS 4.16.1 → 4.18.0 bump (bothPackage.swiftpins, url/checksum untouched).$GITHUB_ENVrather than step outputs (local-ci resolves step outputs to empty). The branch and tag checks also go through the GitHub API instead ofgit ls-remote, which local-ci stubs. Behaviour on GitHub is unchanged.main. The runner is Linux, so the bridge and iOS klibs aren't built; the agent is told to say so, and CI on the PR covers it.Counterparts: superwall/Superwall-Android#473, superwall/Superwall-iOS#538.
🤖 Generated with Claude Code
https://claude.ai/code/session_015S6mZpaJyu9J5v7NPv2WCS