From d16b4ab20ffc182c07748ec67381b9a5b4a5e686 Mon Sep 17 00:00:00 2001 From: Rastislav Date: Mon, 7 Sep 2026 19:10:26 +0200 Subject: [PATCH] update --- .github/workflows/release.yml | 12 +----------- CHANGELOG.md | 5 +++++ README.md | 2 +- doc/RELEASE.md | 22 +++++++++++++--------- example/pubspec.yaml | 2 +- pubspec.yaml | 2 +- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3659bac..9a4d5ef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: Release +name: Publish to pub.dev on: push: tags: ['[0-9]*.[0-9]*.[0-9]*'] @@ -20,13 +20,3 @@ jobs: permissions: id-token: write uses: dart-lang/setup-dart/.github/workflows/publish.yml@v1 - release: - needs: publish - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - - run: gh release create "$GITHUB_REF_NAME" --verify-tag --generate-notes - env: - GH_TOKEN: ${{ github.token }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 77ab233..5d7be2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.1.2 + +- Align publishing with the Flutter reference libraries: validate on tag push, then publish through Dart's reusable pub.dev workflow. +- Remove automatic GitHub Release creation; retain exact version-tag validation and CORE License. + ## 0.1.1 - Support app_links 7.2.1; require Flutter 3.44 and Dart 3.12. diff --git a/README.md b/README.md index adccb39..123eb5c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Flutter wallet library for Connect v1. Handles full `connect://` links and QR te ```yaml dependencies: - flutter_connect: ^0.1.1 + flutter_connect: ^0.1.2 ``` ```dart diff --git a/doc/RELEASE.md b/doc/RELEASE.md index 4a2d308..8fdb4c7 100644 --- a/doc/RELEASE.md +++ b/doc/RELEASE.md @@ -1,16 +1,20 @@ # Release setup -CI runs formatting/linting, static checks, relevant tests and package validation. Flutter additionally builds Android and iOS simulator examples. better-connect's release also runs cross-repository Flutter interoperability. No release has been pushed or published as part of implementation. +flutter_connect follows the publishing pattern used by flutter_licensing, flutter_paytorl and flutter_txms. A version tag push runs the shared CI checks and exact tag/version validation, then publishes through Dart's reusable pub.dev workflow. It does not create or modify a GitHub Release. -1. Review the package version and changelog. Keep v1 protocol vectors identical across all three repositories. -2. Configure repository Actions and the registry's trusted publisher for `bchainhub/flutter_connect` and `release.yml`. For npm use its GitHub OIDC trusted publishing settings; for pub.dev enable automated GitHub publishing with the `{{version}}` tag pattern. Initial package creation/ownership and registry settings must be established by maintainers. -3. Ensure dependent repositories are pushed before cross-repository CI runs. For incompatible future protocol changes pin the integration checkout to a matching release rather than silently mixing versions. -4. Push `` to trigger validation, publication and a GitHub release. The tag must match the manifest exactly. +1. Update `pubspec.yaml` and `CHANGELOG.md`, then commit and push the source and workflows. +2. On pub.dev, enable automated publishing for repository `bchainhub/flutter_connect` with tag pattern `{{version}}` (no `v`). +3. Push the tag matching the manifest: -CORE License text is copied unchanged from the reference flutter_txms repository. npm metadata uses `SEE LICENSE IN LICENSE` because CORE is a custom license. +```sh +git tag 0.1.2 +git push origin 0.1.2 +``` -For better-connect, CI checks out the matching SDK source and runs `node scripts/prepare-sdk.mjs` before installing dependencies. The helper builds the ignored vendor tarball; `node scripts/sync-protocol.mjs` refreshes a local installation. Reference conformance fixtures live in `test/fixtures/` and remain versioned. Generated `vectors/` and `vendor/` directories are ignored. The published bundle includes the SDK so registry users do not need local filesystem dependencies. +CI checks formatting, static analysis, tests, publishable package contents, and Android/iOS example builds before publication. A tag mismatch blocks publishing. Use a new version for each publication; an already published pub.dev version cannot be replaced. -References: [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/), [Dart publishing workflow](https://github.com/dart-lang/setup-dart/blob/main/.github/workflows/publish.yml). +The npm packages use a different trigger: publish their GitHub Releases in the app to publish npm. For Flutter, pushing the tag is sufficient. Merely editing an existing GitHub Release does not trigger the Flutter workflow. -Dependency lockfiles are ignored. npm workflows install from package.json with `--package-lock=false`; npm cache keys use package.json. Flutter workflows already resolve dependencies with `flutter pub get`. +CORE License remains unchanged. Dependency lockfiles and generated artifacts remain ignored. + +See [Dart automated publishing](https://dart.dev/tools/pub/automated-publishing) for registry setup. diff --git a/example/pubspec.yaml b/example/pubspec.yaml index dbe0afa..407acb8 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,7 +1,7 @@ name: connect_wallet_example description: Connect wallet reference application using an ephemeral Ed25519 test account. publish_to: none -version: 0.1.1+2 +version: 0.1.2+3 environment: sdk: '>=3.12.0 <4.0.0' dependencies: diff --git a/pubspec.yaml b/pubspec.yaml index 5a4785a..2d9a4b1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_connect description: Wallet-side Connect protocol with strict transport validation, explicit approval, and multi-chain signing adapters. -version: 0.1.1 +version: 0.1.2 homepage: https://github.com/bchainhub/flutter_connect repository: https://github.com/bchainhub/flutter_connect issue_tracker: https://github.com/bchainhub/flutter_connect/issues