When you review a pull request, two questions often come up. Does the change work with the latest base branch? How does it feel on a real device? In OpenCI v2.5.0, you can answer both from the same PR.

Test the proposed merge

PR jobs now check out GitHub’s test merge commit. Before running the job, OpenCI checks that its parents match the current base branch and the PR revision being tested. If the base branch moves during review, the checkout log gives you the exact commit that ran.

If a conflict prevents the merge, GitHub Checks and the dashboard show what happened and how to proceed. Duplicate PR notifications for the same revisions and workflow configuration reuse the existing job. Closing or merging a PR cancels its remaining queued and running jobs.

Open the test build from a PR comment

Firebase App Distribution returns a tester URL when you upload an iOS IPA or Android APK. Pass it to postQrCode and a successful workflow posts a link and QR code on the original PR. The comment identifies the workflow and includes the app version and build number when available.

With a built ipaPath and a qa tester group in Firebase, an iOS workflow can distribute the build and post the link in two calls.

final testerUrl = await openCI.flutter.deployIpaToFirebaseAppDistribution(
  ipaPath: ipaPath,
  serviceAccountJsonBase64: Secrets.firebaseServiceAccountJsonBase64.value,
  groups: ['qa'],
);
await openCI.pullRequest.postQrCode(url: testerUrl);

Comments use English by default. Pass lang: PostQrCodeLang.ja for Japanese. The next successful build updates the same comment. If a build fails, the last successful link stays available. Testers need access to the release in Firebase to open it on their device. Workflow SDK 0.2.9

Switch to the openci CLI

The CLI package is now openci_cli_plus and its command is openci. It reads the profiles and settings you used with genuineci. After installation, openci status shows your active team.

dart install openci_cli_plus
openci status

In scripts that sync secret definitions, replace genuineci sync --secrets with openci sync --secrets. CLI reference

Dashboard and web previews

  • Open Settings → Manage billing to see your team’s current monthly usage and past invoices. Cloud runtime is billed at ¥1 per minute, tax included, with rounding applied once to the team’s monthly total. For USD invoices, the total is converted at the exchange rate recorded when the month closes. Pricing and examples
  • The macOS dashboard receives updates through Sparkle again. A signed and notarized OpenCI 2.0.0 build is available for macOS 26 and later. macOS update feed
  • PRs that change the OpenCI website or web dashboard get Firebase Hosting previews. Each site keeps the same preview URL across updates to that PR, and each deployment refreshes the one-hour expiry. Preview implementation

This tag removes the Stacked PR app and CI workflow featured in the previous release. For teams using the SDK from source, the tag also removes the Go helpers and adds Firebase Hosting APIs. Those SDK changes came after the 0.2.9 package on pub.dev. GitHub Release v2.5.0 · All changes since v2.4.0