Skip to main content

nubrick_flutter 0.21.9 copy "nubrick_flutter: ^0.21.9" to clipboard
nubrick_flutter: ^0.21.9 copied to clipboard

Nubrick bridge sdk for flutter

nubrick-logo

Nubrick Flutter SDK #

documentations

https://docs.nubrick.app

Android build requirements #

Requirement Value Scope
compileSdk 36 or higher Build time — required to resolve Nubrick Android SDK and its transitive Compose dependencies
minSdk 26 or higher Runtime — minimum Android API level supported by Nubrick

Development #

This repository pins its Flutter SDK with FVM. From the repository root, run:

fvm install
fvm flutter pub get

Run the example app with:

cd example
fvm flutter run

VS Code uses the pinned SDK automatically through the workspace settings. CI reads the same version from .fvmrc.

Release workflow #

Update iOS and Android Nubrick dependency versions in a separate PR with native build validation. The release workflow uses the versions already on main.

The .github/workflows/release.yaml workflow prepares and tags a release using the built-in GITHUB_TOKEN. Run Release Nubrick Flutter SDK from main with a version such as v0.21.8 and release notes separated by |. In one release run, it updates CHANGELOG.md, pubspec.yaml, lib/version.dart, and the example and E2E pubspec lockfiles, opens a release/0.21.8 PR, runs flutter test and dart pub publish --dry-run, merges the PR, validates the merged commit, and creates the tag. It then dispatches .github/workflows/publish.yaml against the tag because a GITHUB_TOKEN tag push does not start another workflow. The publisher uses GitHub OIDC to publish to pub.dev and then creates a GitHub Release.

GitHub rulesets enforce these release protections:

  • For main, the ruleset requires a pull request but has no required approval or status check. The release workflow runs flutter test and dart pub publish --dry-run before merging, then checks the merged commit again before tagging.
  • If a ruleset is added for tags matching v*, allow the GitHub Actions app to create release tags. The release workflow pushes tags with GITHUB_TOKEN.

The publisher runs through workflow_dispatch from a release tag. The package's pub.dev settings allow workflow_dispatch; the workflow checks that the tag matches pubspec.yaml, lib/version.dart, and the changelog before publishing. A manually pushed tag also requires a publisher dispatch. The release workflow links to the dispatched publisher in its run summary and waits up to 20 minutes for it to finish. A publisher failure or wait timeout fails the release workflow. A wait timeout does not cancel the publisher; check its linked run before retrying publication.

The release run fails if its branch, tag, or pub.dev version already exists. If it fails after creating a branch, inspect and resolve that partial release before starting again. If publication fails after tagging, rerun the publisher workflow; it checks whether the version is already published before attempting to publish again.