mirror of
https://github.com/aljazceru/breez-sdk-liquid.git
synced 2026-01-18 05:24:25 +01:00
* chore: update Flutter dependencies to latest Use Flutter version 3.27.4 on CI workflows * chore: update flutter_rust_bridge to 2.8.0 and generate bindings chore: update dependencies to latest * Use Flutter 3.29.0 on CI workflows
139 lines
5.3 KiB
YAML
139 lines
5.3 KiB
YAML
name: Publish Flutter Package
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
repository:
|
|
description: 'sdk repository, defaults to current repository'
|
|
required: false
|
|
type: string
|
|
ref:
|
|
description: 'commit/tag/branch reference'
|
|
required: true
|
|
type: string
|
|
package-version:
|
|
description: 'version for the flutter package (MAJOR.MINOR.BUILD) (no v prefix)'
|
|
required: true
|
|
type: string
|
|
publish:
|
|
description: 'value indicating whether to commit/tag a release.'
|
|
required: true
|
|
type: boolean
|
|
default: true
|
|
secrets:
|
|
REPO_SSH_KEY:
|
|
description: 'ssh key to commit to the breez-sdk-liquid-flutter repository'
|
|
required: true
|
|
SWIFT_RELEASE_TOKEN:
|
|
description: 'github token to release to the breez-sdk-liquid-flutter repository'
|
|
required: true
|
|
|
|
jobs:
|
|
build-tag-release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout breez-sdk-liquid-flutter repo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: breez/breez-sdk-liquid-flutter
|
|
ssh-key: ${{ secrets.REPO_SSH_KEY }}
|
|
fetch-depth: 0
|
|
path: dist
|
|
|
|
- name: Checkout breez-sdk-liquid repo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: ${{ inputs.repository || github.repository }}
|
|
ref: ${{ inputs.ref || github.sha }}
|
|
path: build
|
|
|
|
- name: Set up Flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
channel: 'stable'
|
|
flutter-version: 3.29.0
|
|
|
|
- name: Copy package files
|
|
working-directory: dist
|
|
run: |
|
|
rm -rf android
|
|
rm -rf ios
|
|
rm -rf macos
|
|
rm -rf lib
|
|
cp -r ../build/packages/flutter/android .
|
|
cp -r ../build/packages/flutter/ios .
|
|
cp -r ../build/packages/flutter/macos .
|
|
rm ios/.gitignore
|
|
rm macos/.gitignore
|
|
mv android/build.gradle.production android/build.gradle
|
|
mv ios/flutter_breez_liquid.podspec.production ios/flutter_breez_liquid.podspec
|
|
mv macos/flutter_breez_liquid.podspec.production macos/flutter_breez_liquid.podspec
|
|
cp -r ../build/packages/flutter/lib .
|
|
cp -r ../build/lib/bindings/langs/flutter/breez_sdk_liquid/include/breez_sdk_liquid.h ios/Classes
|
|
cp -r ../build/lib/bindings/langs/flutter/breez_sdk_liquid/include/breez_sdk_liquid.h macos/Classes
|
|
cp -r ../build/lib/bindings/langs/flutter/breez_sdk_liquidFFI/include/breez_sdk_liquidFFI.h ios/Classes
|
|
cp -r ../build/lib/bindings/langs/flutter/breez_sdk_liquidFFI/include/breez_sdk_liquidFFI.h macos/Classes
|
|
cp ../build/packages/flutter/analysis_options.yaml .
|
|
cp ../build/packages/flutter/pubspec.yaml .
|
|
cp ../build/packages/flutter/pubspec_overrides.yaml .
|
|
|
|
- name: Copy docs
|
|
working-directory: dist
|
|
run: |
|
|
cp ../build/packages/flutter/CHANGELOG.md . || true
|
|
cp ../build/packages/flutter/LICENSE . || true
|
|
cp ../build/packages/flutter/README.md . || true
|
|
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: bindings-swift
|
|
path: dist/ios/Sources/BreezSDKLiquid/
|
|
|
|
- name: Cleanup header file artifacts
|
|
working-directory: dist/ios/Sources/BreezSDKLiquid/
|
|
run: |
|
|
rm breez_sdk_liquidFFI.h
|
|
rm breez_sdk_liquidFFI.modulemap
|
|
|
|
- name: Copy iOS sources to macOS sources
|
|
working-directory: dist
|
|
run: |
|
|
cp -r ios/Sources/ macos/Sources/
|
|
|
|
- name: Set package version
|
|
working-directory: dist
|
|
run: |
|
|
sed -i.bak -e 's/version:.*/version: ${{ inputs.package-version }}/' pubspec.yaml
|
|
sed -i.bak -e 's/path:.*/git:\n url: git@github.com:breez\/breez-sdk-liquid-dart.git\n ref: ${{ inputs.package-version }}/' pubspec_overrides.yaml
|
|
sed -i.bak -e "s/^version .*/version '${{ inputs.package-version }}'/" android/build.gradle
|
|
sed -i.bak -e "s/^version = .*/version = '${{ inputs.package-version }}'/" ios/flutter_breez_liquid.podspec
|
|
sed -i.bak -e "s/^version = .*/version = '${{ inputs.package-version }}'/" macos/flutter_breez_liquid.podspec
|
|
rm pubspec.yaml.bak
|
|
rm pubspec_overrides.yaml.bak
|
|
rm android/build.gradle.bak
|
|
rm ios/flutter_breez_liquid.podspec.bak
|
|
rm macos/flutter_breez_liquid.podspec.bak
|
|
|
|
- name: Update version number on podspec & gradle files
|
|
working-directory: build/lib/bindings/langs/flutter/
|
|
run: bash scripts/version.sh
|
|
|
|
- name: Archive flutter release
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: breez-sdk-liquid-flutter-${{ inputs.package-version || github.sha }}
|
|
path: |
|
|
dist/*
|
|
!dist/.git
|
|
|
|
- name: Tag the Flutter package
|
|
working-directory: dist
|
|
if: ${{ inputs.publish }}
|
|
run: |
|
|
git config --global user.email github-actions@github.com
|
|
git config --global user.name github-actions
|
|
git add .
|
|
git commit -m "Update Flutter package to version v${{ inputs.package-version }}"
|
|
git push
|
|
git tag v${{ inputs.package-version }} -m "v${{ inputs.package-version }}"
|
|
git push --tags
|