Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
a6d3163
ci(flutter): add dedicated CI workflow with lint and build jobs
Sep 24, 2025
786ebc9
feat(flutter): add integration test support
Sep 25, 2025
fd23652
feat(flutter): add BrowserStack integration test support with single …
Sep 26, 2025
0dfd7cf
feat(flutter): make task name configurable via environment variable
Sep 26, 2025
d905e7c
feat(flutter): add iOS BrowserStack integration test setup
Sep 26, 2025
5bad8eb
feat(flutter): add BrowserStack CI workflow for Android integration t…
Sep 26, 2025
cbafa70
feat(flutter): unified CI workflow with comprehensive BrowserStack te…
Sep 26, 2025
f00382c
fix(flutter): add unsigned build flags for iOS BrowserStack tests
Sep 26, 2025
308e3c3
fix(flutter): apply dart format to fix linting issues
Sep 29, 2025
9b53fb4
fix(flutter): build iOS IPA instead of simulator app in CI
Sep 29, 2025
8751303
fix(ci): add proper job dependencies for BrowserStack tests
Sep 29, 2025
a3318a8
refactor(ci): streamline Flutter CI workflow
Sep 29, 2025
e8c7645
fix(ci): fix workflow syntax error - missing indentation for browsers…
Sep 29, 2025
da3722e
fix(ci): use proper iOS test package building for BrowserStack
Sep 29, 2025
4b2e0f0
optimize(ci): streamline job dependencies for parallel execution
Sep 29, 2025
3ccd80a
refactor(ci): add dedicated seed-data job for BrowserStack testing
Sep 29, 2025
17a57b8
refactor(ci): optimize iOS build and BrowserStack job separation
Sep 29, 2025
b337f69
fix(ci): correct working directory for Android APK rebuild
Sep 29, 2025
1caa201
refactor(ci): replace PR comments with GitHub Actions summary
Sep 29, 2025
ba84e48
fix(flutter): correct iOS test package filename in BrowserStack upload
Sep 29, 2025
76a85c8
fix(flutter): add ORDER BY title ASC and fix Android build path
Sep 30, 2025
23139ee
fix(ci): ensure gradlew is executable in Android build steps
Sep 30, 2025
6d48a10
fix(ci): update iOS test devices to iOS 15+ for symbol compatibility
Sep 30, 2025
8148de8
fix(ci): diversify iOS versions for testing coverage
Sep 30, 2025
824d7f1
fix(ci): correct Android build order and add iOS 15+ requirement note
Sep 30, 2025
a8aba6d
debug(ci): add gradlew existence check for Android test wrapper build
Sep 30, 2025
6ee9c6f
fix(android): commit gradle wrapper files and add iOS OK button tap
Sep 30, 2025
568c9bf
fix(ci): fix Android BrowserStack build process to match working loca…
Sep 30, 2025
f7a820b
perf(ci): upgrade Android builds to release for better QA fidelity
Sep 30, 2025
001f816
chore(ci): remove secrets and clean up unnecessary files
Sep 30, 2025
3ae9917
chore: remove BROWSERSTACK_WORKING_SOLUTION.md
Sep 30, 2025
99203d8
test: require TASK_TO_FIND env var, no default value
Sep 30, 2025
2567c8c
feat(ci): add Web, Windows, and macOS builds
Sep 30, 2025
54cfd86
style: format Flutter code
Sep 30, 2025
a3f9c0b
fix(ci): remove unsupported Windows and macOS desktop builds
Sep 30, 2025
266042b
fix(android): upgrade AGP to 8.7.3 and Kotlin to 2.1.0
Sep 30, 2025
92653b5
fix(android): switch BrowserStack tests to debug builds
Sep 30, 2025
aae827e
chore: restore flutter.ndkVersion and revert formatting changes
Sep 30, 2025
e402789
style: format Flutter code
Sep 30, 2025
3de7e94
test: add false positive check with _randomsuffix
Oct 1, 2025
aece3ac
chore(android): upgrade junit to 4.13.2
Oct 1, 2025
184762b
docs(android): add comment explaining androidx.test version constraints
Oct 1, 2025
74bb9c0
test: revert _randomsuffix false positive check
Oct 1, 2025
e981820
feat(flutter): add macOS and Windows desktop platform support (#179)
teodorciuraru Oct 2, 2025
03e08f7
fix(flutter): restrict permissions to mobile platforms only
Oct 2, 2025
8330e57
style(flutter): format code with dart format
Oct 2, 2025
5a05e85
fix(ci): add macOS and Windows builds as seed-data dependencies
Oct 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
936 changes: 936 additions & 0 deletions .github/workflows/flutter-ci.yml

Large diffs are not rendered by default.

15 changes: 9 additions & 6 deletions flutter_app/.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# This file should be version controlled and should not be manually edited.

version:
revision: "603104015dd692ea3403755b55d07813d5cf8965"
revision: "ea121f8859e4b13e47a8f845e4586164519588bc"
channel: "stable"

project_type: app
Expand All @@ -13,11 +13,14 @@ project_type: app
migration:
platforms:
- platform: root
create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 603104015dd692ea3403755b55d07813d5cf8965
- platform: web
create_revision: 603104015dd692ea3403755b55d07813d5cf8965
base_revision: 603104015dd692ea3403755b55d07813d5cf8965
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- platform: macos
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
- platform: windows
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc

# User provided section

Expand Down
3 changes: 0 additions & 3 deletions flutter_app/android/.gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
settings-gradle.lockfile
Expand Down
9 changes: 9 additions & 0 deletions flutter_app/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ android {
targetSdkVersion flutter.targetSdkVersion
versionCode localProperties.getProperty('flutter.versionCode')?.toInteger() ?: 1
versionName localProperties.getProperty('flutter.versionName') ?: "1.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
Expand All @@ -55,4 +56,12 @@ android {

flutter {
source '../..'
}

dependencies {
testImplementation 'junit:junit:4.13.2'
// Note: androidx.test versions are constrained by Flutter's integration_test package
// Cannot upgrade beyond these versions due to strict version requirements
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.example.flutter_quickstart;

import androidx.test.rule.ActivityTestRule;
import dev.flutter.plugins.integration_test.FlutterTestRunner;
import org.junit.Rule;
import org.junit.runner.RunWith;
import com.example.flutter_quickstart.MainActivity;

@RunWith(FlutterTestRunner.class)
public class MainActivityTest {
@Rule
public ActivityTestRule<MainActivity> rule = new ActivityTestRule<>(MainActivity.class, true, false);
}
3 changes: 2 additions & 1 deletion flutter_app/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
<application
android:label="flutter_quickstart"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true">
<activity
android:name=".MainActivity"
android:exported="true"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">ditto.live</domain>
<domain includeSubdomains="true">cloud.ditto.live</domain>
</domain-config>
</network-security-config>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
252 changes: 252 additions & 0 deletions flutter_app/android/gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading