feat: auto-generate README dependency lists from Wizard API#115
Merged
Conversation
Add a script and scheduled workflow that keep the iOS/Android dependency
blocks in README.md in sync with the live Appodeal Dependencies Wizard API.
- scripts/update-readme-deps.mjs: fetches recommended mediations/sdks and the
rendered dependency text, then replaces the blocks between HTML-comment
markers. SDK version comes from pubspec.yaml. Android keeps only the
`dependencies { }` block; iOS gets the Flutter linking injected into the
Podfile target.
- .github/workflows/update-readme-deps.yml: runs on pubspec/script push to
main, daily at 06:00 UTC, and manual dispatch. Opens a PR as
github-actions[bot] and approves+squash-merges it via a GitHub App.
- README.md: add appodeal-deps:ios/android markers around the dependency
fenced blocks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds automated synchronization of the iOS/Android dependency snippets in README.md by fetching “recommended” dependency output from the Appodeal Dependencies Wizard API, and wires it into a scheduled + on-push GitHub Action.
Changes:
- Added
scripts/update-readme-deps.mjsto fetch mediations/SDKs and rewrite README sections betweenappodeal-deps:*HTML markers. - Added
.github/workflows/update-readme-deps.ymlto run the script on schedule / relevant pushes and open + auto-approve + squash-merge a PR when README changes. - Updated
README.mdto include marker comments around the iOS/Android dependency fenced blocks.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| scripts/update-readme-deps.mjs | Implements the Wizard API fetch + README marker replacement logic and platform-specific rendering tweaks. |
| README.md | Adds HTML comment markers to delimit the auto-generated dependency blocks. |
| .github/workflows/update-readme-deps.yml | Automates running the script and creating/approving/merging PRs when dependency blocks change. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
A pubspec version may carry a `+build` suffix (e.g. 4.1.0+4); the Wizard API endpoints expect a plain SDK version, so drop everything after `+`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
dmitriifeshchenko
approved these changes
Jun 8, 2026
Address Copilot review feedback: - Fetch Android dependencies from the Groovy endpoint so the generated snippet matches the `groovy` fence and the `build.gradle` filename in the README (previously fetched kts output under a groovy fence). - Update the header/function comments to state that the iOS target also gets use_modular_headers! injected, not just the Flutter autolinking call. - Rename fenced()'s parameter to `fence` to reflect that it takes the full opening fence, not just a language tag. Co-Authored-By: Claude Opus 4.8 <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.
Ports the README dependency auto-sync feature from react-native-appodeal (PRs #165–#168) to the Flutter plugin.
What
scripts/update-readme-deps.mjs— fetches recommended mediations/sdks from the Appodeal Dependencies Wizard API and renders the iOS/Android dependency blocks, replacing the content between HTML-comment markers inREADME.md.pubspec.yaml(RN usedpackage.json).flutter_install_all_ios_podsinjected into the Podfile target (RN injects RN autolinking instead).dependencies { }block — the duplicatedrepositories { }block is dropped (same as RN fix #168), since repos are documented separately..github/workflows/update-readme-deps.yml— runs onpubspec.yaml/script push tomain, daily at 06:00 UTC, and manual dispatch. Bot opens a PR, a GitHub App approves + squash-merges it.README.md—appodeal-deps:ios/androidmarkers added around the dependency fenced blocks.APPODEAL_API_URL=https://neo-mw-backend.appodeal.com(Settings → Secrets and variables → Actions → Variables).APP_ID+APP_PRIVATE_KEY(the same GitHub App used in react-native-appodeal).main(require PR + review) — so the App-approve+merge flow is meaningful.🤖 Generated with Claude Code