Skip to content

Commit c543fb5

Browse files
authored
Merge pull request #139 from stevesoltys/rustpush
Fix build and add CI build via GitHub Actions
2 parents 2e6957a + 91a3216 commit c543fb5

File tree

17 files changed

+145
-42
lines changed

17 files changed

+145
-42
lines changed

.github/workflows/build.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
on: [ push, pull_request ]
2+
name: Build
3+
jobs:
4+
build:
5+
name: OpenBubbles APK
6+
runs-on: ubuntu-latest
7+
steps:
8+
- uses: actions/checkout@v2
9+
10+
- name: Update submodules
11+
run: git submodule update --init --recursive --remote
12+
13+
- name: Free Disk Space (Ubuntu)
14+
uses: jlumbroso/free-disk-space@main
15+
with:
16+
tool-cache: true
17+
android: false
18+
dotnet: true
19+
haskell: true
20+
large-packages: true
21+
swap-storage: true
22+
23+
- name: Set up Rust
24+
uses: actions-rs/toolchain@v1
25+
with:
26+
toolchain: stable
27+
28+
- name: Set up Flutter
29+
uses: subosito/flutter-action@v2
30+
with:
31+
channel: stable
32+
flutter-version: 3.24.0
33+
34+
- name: Set up Java
35+
uses: actions/setup-java@v2
36+
with:
37+
java-version: '21'
38+
distribution: 'temurin'
39+
40+
- name: Install Protobuf compiler
41+
run: sudo apt-get install -y protobuf-compiler
42+
43+
# First run is expected to fail until ffmpeg_kit_flutter_new is fixed.
44+
- name: Run Build Script
45+
run: |
46+
./build.sh

.gitignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ pubspeck.lock
4040
**/android/.settings
4141
**/releases
4242

43+
# Android
44+
android/app/.cxx
45+
android/local.properties
46+
4347
#objectbox
4448
.dart_tool/*
4549
!.dart_tool/build
@@ -57,4 +61,8 @@ pubspeck.lock
5761
native-lib/target/**
5862

5963
/rust/src/api/hw_testing.plist
60-
/rust/src/api/id_testing.plist
64+
/rust/src/api/id_testing.plist
65+
66+
# Android
67+
android/app/local.properties
68+
android/app/.gradle/**

.gitmodules

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[submodule "rustpush"]
2+
path = rustpush
3+
url = https://github.com/OpenBubbles/rustpush.git
4+
branch = master
5+
[submodule "android-smsmms"]
6+
path = android-smsmms
7+
url = https://github.com/OpenBubbles/android-smsmms.git
8+
branch = master

android-smsmms

Submodule android-smsmms added at 36f34f4

android/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
org.gradle.jvmargs=-Xmx4608M
1+
org.gradle.jvmargs=-Xmx6400M
22
android.useAndroidX=true
33
android.enableJetifier=true

android/settings.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,6 @@ plugins {
2727
}
2828

2929
include ":android-smsmms"
30-
project(":android-smsmms").projectDir = file("/home/tae/Downloads/telephony_plus/android-smsmms/library")
30+
project(":android-smsmms").projectDir = new File(rootProject.projectDir, "../android-smsmms/library")
31+
3132
include ":app"

build.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
3+
# Pull submodules
4+
git submodule update --init --recursive --remote
5+
6+
# Set up fake certificates for FairPlay
7+
mkdir -p rustpush/certs/fairplay
8+
9+
cert_names=(
10+
"4056631661436364584235346952193"
11+
"4056631661436364584235346952194"
12+
"4056631661436364584235346952195"
13+
"4056631661436364584235346952196"
14+
"4056631661436364584235346952197"
15+
"4056631661436364584235346952198"
16+
"4056631661436364584235346952199"
17+
"4056631661436364584235346952200"
18+
"4056631661436364584235346952201"
19+
"4056631661436364584235346952208"
20+
)
21+
22+
for name in "${cert_names[@]}"; do
23+
touch rustpush/certs/fairplay/$name.pem
24+
touch rustpush/certs/fairplay/$name.crt
25+
done
26+
27+
# Build APK
28+
flutter build apk --flavor alpha --debug --target-platform android-arm64

ios/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Flutter/app.flx
2222
Flutter/app.zip
2323
Flutter/flutter_assets/
2424
Flutter/flutter_export_environment.sh
25+
Flutter/ephemeral/**
2526
ServiceDefinitions.json
2627
Runner/GeneratedPluginRegistrant.*
2728

lib/services/backend/action_handler.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import 'package:bluebubbles/services/network/backend_service.dart';
1111
import 'package:bluebubbles/utils/logger/logger.dart';
1212
import 'package:collection/collection.dart';
1313
import 'package:dio/dio.dart';
14-
import 'package:ffmpeg_kit_flutter/ffmpeg_kit.dart';
15-
import 'package:ffmpeg_kit_flutter/ffprobe_kit.dart';
16-
import 'package:ffmpeg_kit_flutter/log.dart';
17-
import 'package:ffmpeg_kit_flutter/return_code.dart';
18-
import 'package:ffmpeg_kit_flutter/session.dart';
19-
import 'package:ffmpeg_kit_flutter/statistics.dart';
14+
import 'package:ffmpeg_kit_flutter_new/ffmpeg_kit.dart';
15+
import 'package:ffmpeg_kit_flutter_new/ffprobe_kit.dart';
16+
import 'package:ffmpeg_kit_flutter_new/log.dart';
17+
import 'package:ffmpeg_kit_flutter_new/return_code.dart';
18+
import 'package:ffmpeg_kit_flutter_new/session.dart';
19+
import 'package:ffmpeg_kit_flutter_new/statistics.dart';
2020
import 'package:flutter/foundation.dart';
2121
import 'package:flutter/material.dart';
2222
import 'package:get/get.dart' hide Response;

lib/services/rustpush/rustpush_service.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import 'package:bluebubbles/utils/crypto_utils.dart';
2222
import 'package:bluebubbles/utils/logger/logger.dart';
2323
import 'package:collection/collection.dart';
2424
import 'package:crypto/crypto.dart';
25-
import 'package:ffmpeg_kit_flutter/ffmpeg_kit.dart';
25+
import 'package:ffmpeg_kit_flutter_new/ffmpeg_kit.dart';
2626
import 'package:flutter/cupertino.dart';
2727
import 'package:flutter/material.dart';
2828
import 'package:flutter_rust_bridge/flutter_rust_bridge.dart';

0 commit comments

Comments
 (0)