Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
3de7299
[DELIVERY-125863] Migrate Flutter plugin to AppsFlyer SDK 7 RPC archi…
af-dudka Jul 29, 2026
d2af13c
[DELIVERY-125863] Fix SDK 7 install-referrer docs and dart format.
af-dudka Jul 29, 2026
effc2d8
[DELIVERY-125863] Align plugin release version with SDK 7.0.1.
af-dudka Jul 29, 2026
51b2141
[DELIVERY-125863] Migrate Flutter plugin to AppsFlyer SDK 7 RPC archi…
af-dudka Aug 10, 2026
69886e8
[DELIVERY-125863] Align internal-docs with SDK 7 RPC implementation a…
af-dudka Aug 10, 2026
78dcf05
[DELIVERY-125863] Apply dart format to CI-failing files
af-dudka Aug 10, 2026
c5f84c2
[DELIVERY-125863] Migrate native plugin implementations to Swift and …
af-dudka Aug 10, 2026
8d4df77
[DELIVERY-125863] Fix Android native events lost after engine teardown
af-dudka Aug 11, 2026
4ddcfa7
[DELIVERY-125863] Harden Android RPC dispatch, lifecycle teardown, an…
af-dudka Aug 11, 2026
655d1bc
[DELIVERY-125863] Bound the iOS pending-event buffer
af-dudka Aug 11, 2026
2820349
[DELIVERY-125863] Replace iOS Objective-C shim with main-actor-checke…
af-dudka Aug 12, 2026
bd8f144
[DELIVERY-125863] Guard iOS event-handler and Purchase Connector tear…
af-dudka Aug 12, 2026
b152ef8
[DELIVERY-125863] Remove pendingLaunchOptions and main-thread RPC com…
af-dudka Aug 12, 2026
a7a6c6d
[DELIVERY-125863] Return RPC data map from unwrapValue default instea…
af-dudka Aug 12, 2026
1d46d56
[DELIVERY-125863] Always enqueue af-events delivery on the main queue…
af-dudka Aug 12, 2026
bb3c54d
[DELIVERY-125863] Guard iOS RPC completions and markBridgeReady after…
af-dudka Aug 12, 2026
84292aa
[DELIVERY-125863] Serialize AppsFlyerAttribution queue state on the m…
af-dudka Aug 12, 2026
d6a4ba5
[DELIVERY-125863] Log AppsFlyerAttribution RPC failures and reset que…
af-dudka Aug 12, 2026
a72cf9d
[DELIVERY-125863] Document ephemeral FlutterFramework SPM dependency …
af-dudka Aug 12, 2026
63c3686
[DELIVERY-125863] Fix iOS plugin version bump in release workflows af…
af-dudka Aug 12, 2026
58bc115
[DELIVERY-125863] Throw AppsFlyerException when generateInviteLink re…
af-dudka Aug 12, 2026
cbb55f1
[DELIVERY-125863] Throw AppsFlyerException when getSdkVersion returns…
af-dudka Aug 12, 2026
6d3b19c
[DELIVERY-125863] Throw AppsFlyerException on unexpected RPC result t…
af-dudka Aug 12, 2026
a9954cf
[DELIVERY-125863] Scope the Android RPC handler to the process so eng…
af-dudka Aug 12, 2026
522afb3
[DELIVERY-125863] Fail fast on missing or non-string af-events event …
af-dudka Aug 12, 2026
ab5883b
[DELIVERY-125863] Test every AFMediationNetwork logAdRevenue RPC mapping
af-dudka Aug 12, 2026
502b2bd
[DELIVERY-125863] Test pluginVersion returns the compiled PLUGIN_VERS…
af-dudka Aug 12, 2026
f61a729
[DELIVERY-125863] Forward init parameters to native RPC without Dart-…
af-dudka Aug 12, 2026
6c9a0d2
[DELIVERY-125863] Route symmetric platform-only getters and setters t…
af-dudka Aug 12, 2026
33d49d0
[DELIVERY-125863] Split RPC helpers and enforce non-null native replies
af-dudka Aug 12, 2026
790f3df
[DELIVERY-125863] Forward setSharingFilterForPartners clear requests …
af-dudka Aug 12, 2026
cc3b053
[DELIVERY-125863] Forward setConsentData payloads to native RPC witho…
af-dudka Aug 12, 2026
2037d31
[DELIVERY-125863] Format appsflyer_sdk_test.dart for CI
af-dudka Aug 12, 2026
177cd43
[DELIVERY-125863] Replace event streams with callback-based register*…
af-dudka Aug 13, 2026
1905fd7
[DELIVERY-125863] Bump Gradle wrapper to 8.14 for Flutter minimum
af-dudka Aug 13, 2026
70dbd6b
[DELIVERY-125863] Bump Android Gradle Plugin to 8.11.1 for Flutter mi…
af-dudka Aug 13, 2026
7f6917e
[DELIVERY-125863] Bump example Android Gradle, AGP, and Kotlin for Fl…
af-dudka Aug 13, 2026
bb5c3ef
[DELIVERY-125863] Fix iOS CI: bump example deployment target to 15 an…
af-dudka Aug 13, 2026
d2e60ed
[DELIVERY-125863] Hold replayed af-events until their listener registers
af-dudka Aug 13, 2026
ebbabdc
[DELIVERY-125863] Serialize iOS engine-detach teardown on the main queue
af-dudka Aug 13, 2026
ba62ba4
[DELIVERY-125863] ci: run Android native unit tests in the PR gate
af-dudka Aug 13, 2026
460885a
fix(dart): remove platform gates so the RPC contract decides method s…
af-dudka Aug 13, 2026
50153e5
[DELIVERY-125863] Add explicit RpcEnvelope parser with fail-fast cont…
af-dudka Aug 13, 2026
1667a07
[DELIVERY-125863] Drop awaited RPC results after engine detach
af-dudka Aug 13, 2026
c2773b1
[DELIVERY-125863] Remove unused androidx.appcompat dependency
af-dudka Aug 13, 2026
5983751
[DELIVERY-125863] Remove public markBridgeReady that skipped ownershi…
af-dudka Aug 13, 2026
dc80410
[DELIVERY-125863] Document multi-engine single-listener limitation
af-dudka Aug 13, 2026
d606578
[DELIVERY-125863] Document non-finite eventValues; keep iOS serializa…
af-dudka Aug 13, 2026
22ebb8b
[DELIVERY-125863] Clean up low-severity review findings
af-dudka Aug 13, 2026
7257844
[DELIVERY-125863] Fix dart format and document removed Obj-C headers
af-dudka Aug 13, 2026
4864248
[DELIVERY-125863] Fix exclude-connector typo and remove empty iOS tes…
af-dudka Aug 13, 2026
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
2 changes: 1 addition & 1 deletion .claude/skills/alice-pm/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ Automated via GitHub Actions: `.github/workflows/rc-release.yml`, `rc-smoke.yml`

## Domain-Specific Notes

- Cross-platform parity: any new public Dart API must map to matching method names/behavior in both `AppsflyerSdkPlugin.java` (Android) and `AppsflyerSdkPlugin.m` (iOS) — flag any PRD that only specifies one platform.
- Cross-platform parity: any new public Dart API must map to matching method names/behavior in both `AppsflyerSdkPlugin.kt` (Android) and `AppsflyerSdkPlugin.swift` (iOS) — flag any PRD that only specifies one platform.
- This is a published pub.dev package (`appsflyer_sdk`) consumed by third-party apps — breaking changes to the public Dart API require a major version bump and migration notes in `CHANGELOG.md`.
- Purchase Connector is optional/self-contained (`lib/src/purchase_connector/`, `ios/PurchaseConnector/`, Android Kotlin) — changes there should not affect core SDK consumers who don't opt in.
- Release goes through the RC pipeline (see Release Process above) — any feature landing near a release cut should account for RC-SMOKE validation.
4 changes: 2 additions & 2 deletions .claude/skills/dave-flutter-engineer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: Use when working on AppsFlyer Flutter Plugin code — writing, revi

## Persona

Senior engineer with deep knowledge of AppsFlyer Flutter Plugin. Knows every component's history, which areas carry the most risk, and what has caused regressions in the past. Tech stack: Dart/Flutter plugin (SDK >=2.17.0 <4.0.0, Flutter >=1.10.0) bridging native AppsFlyer SDKs via MethodChannel/EventChannel — Objective-C on iOS (`ios/Classes/`), Java/Kotlin on Android (`android/src/main/java` + `android/src/main/kotlin` for the Purchase Connector). JSON models via `json_annotation`/`json_serializable` + `build_runner`. Testing via `mockito` + `flutter_lints`..
Senior engineer with deep knowledge of AppsFlyer Flutter Plugin. Knows every component's history, which areas carry the most risk, and what has caused regressions in the past. Tech stack: Dart/Flutter plugin (SDK >=2.17.0 <4.0.0, Flutter >=1.10.0) bridging native AppsFlyer SDKs via MethodChannel/EventChannel — Swift on iOS (`ios/appsflyer_sdk/Sources/appsflyer_sdk/`, Swift only — no Objective-C), Kotlin on Android (`android/src/main/kotlin` + `android/src/main/include-connector` for the Purchase Connector). JSON models via `json_annotation`/`json_serializable` + `build_runner`. Testing via `mockito` + `flutter_lints`..

## PRD Gate — BLOCKING REQUIREMENT

Expand Down Expand Up @@ -165,7 +165,7 @@ BLOCKING REQUIREMENT: Include a `Skill('dave-flutter-engineer')` tool call in th
## Domain-Specific Notes

- Keep `AppsflyerSdk` as a singleton — do not change the instantiation pattern.
- New SDK method: add Dart method in `lib/src/appsflyer_sdk.dart` (invoke via `_channel.invokeMethod`), implement in `AppsflyerSdkPlugin.java` (Android) and `AppsflyerSdkPlugin.m` (iOS). Keep the method name string identical across all three files.
- New SDK method: add Dart method in `lib/src/appsflyer_sdk.dart` (invoke via `_channel.invokeMethod`), implement in `AppsflyerSdkPlugin.kt` (Android) and `AppsflyerSdkPlugin.swift` (iOS). Keep the method name string identical across all three files.
- Callbacks from native → Dart flow through EventChannels defined in `lib/src/callbacks.dart`.
- Deep linking (UDL) logic is isolated in `lib/src/udl/` — do not mix with core SDK channel calls.
- Purchase Connector is self-contained in `lib/src/purchase_connector/` (Dart models) and `ios/PurchaseConnector/` / `android/.../kotlin/` (native) — keep it that way.
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/erin-flutter-analyst/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,5 +95,5 @@ After Erin presents any analysis findings, `alice-pm` is invoked automatically.

- Field maps live at the MethodChannel/EventChannel boundary — arguments passed as `Map<String, dynamic>` between Dart and native.
- JSON-serializable Dart models: `lib/src/purchase_connector/` (in-app purchase validation payloads) — regenerate `.g.dart` via `build_runner` after any field change.
- Attribution/conversion data payloads flow through `lib/src/callbacks.dart` — check both the Dart model and the native (Java/ObjC) side that populates the EventChannel data.
- Attribution/conversion data payloads flow through `lib/src/callbacks.dart` — check both the Dart model and the native (Kotlin/Swift) side that populates the EventChannel data.
- When mapping fields, verify parity between what Android and iOS native code send — historically a source of drift.
4 changes: 4 additions & 0 deletions .github/workflows/ios-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,10 @@ jobs:
working-directory: example
run: flutter pub get

- name: Regenerate iOS project configuration
working-directory: example
run: flutter build ios --config-only

- name: Install CocoaPods
working-directory: example/ios
run: pod install
Expand Down
83 changes: 67 additions & 16 deletions .github/workflows/lint-test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,16 @@
#
# What it does:
# 1. Lints + format-checks + runs Dart/Flutter unit tests with coverage.
# 2. Builds Android example app (release App Bundle).
# 3. Builds iOS example app (no-codesign release IPA).
# 2. Runs the Android native (JVM) unit tests, then builds the Android example
# app (release App Bundle).
# 3. Builds the iOS example app (no-codesign release IPA).
# 4. Caches dependencies for faster subsequent runs.
#
# Note on native tests: the Android JVM tests live in the Android job rather
# than the Dart `test` job because they need that job's toolchain (Android SDK
# plus JDK for Gradle), so running them there reuses a setup the job already
# pays for. The iOS XCTest suite is not run in CI — see the Job 3 header.
#
# Note on debug builds: debug-mode Android APK and iOS simulator builds used
# to live here, but they duplicate exactly what ios-e2e.yml / android-e2e.yml
# do before running scenarios. Release-mode builds remain here because E2E
Expand Down Expand Up @@ -166,9 +172,10 @@ jobs:
fail_ci_if_error: false # Don't fail CI if coverage upload fails

# ===========================================================================
# Job 2: Build Android Example App
# Job 2: Android Native Tests + Build Example App
# ===========================================================================
# Builds the example app for Android to ensure plugin integration works
# Runs the plugin's Android JVM unit tests, then builds the example app to
# ensure plugin integration works
# Uses: Ubuntu runner with Java 17
# ===========================================================================

Expand Down Expand Up @@ -226,7 +233,39 @@ jobs:
echo "DEV_KEY=dummy_dev_key" > .env
echo "APP_ID=dummy_app_id" >> .env

# Step 8: Build Android App Bundle (release mode, no signing)
# Step 8: Materialize the Gradle wrapper
# `example/android/gradlew` and `gradle-wrapper.jar` are gitignored (the
# standard `flutter create` .gitignore), so a fresh checkout has neither
# and `flutter pub get` does not create them — it only writes
# local.properties. The wrapper is injected by the Flutter tool the first
# time it needs to invoke Gradle, and `--config-only` stops right after
# that injection, so this costs a couple of seconds instead of a build.
- name: Prepare Gradle wrapper
working-directory: example
run: flutter build apk --config-only

# Step 9: Run the plugin's Android JVM unit tests
# The plugin is included in the example's Gradle build as `:appsflyer_sdk`
# by the Flutter plugin loader, so this runs from example/android. Placed
# ahead of the release build: it is the faster of the two and covers the
# engine-lifecycle logic (AppsFlyerEventBus, AppsFlyerRpcBridge) that an
# appbundle build cannot exercise.
- name: Run Android native unit tests
working-directory: example/android
run: ./gradlew :appsflyer_sdk:testDebugUnitTest --console=plain

# Step 10: Publish the Gradle test report when the tests fail
- name: Upload Android test report
if: failure()
uses: actions/upload-artifact@v5
with:
name: android-native-test-report
path: |
example/build/appsflyer_sdk/reports/tests/testDebugUnitTest
example/build/appsflyer_sdk/test-results/testDebugUnitTest
retention-days: 7

# Step 11: Build Android App Bundle (release mode, no signing)
# App Bundle is the preferred format for Play Store. Catches R8/proguard
# regressions a debug APK won't. Debug APK builds were removed because
# android-e2e.yml already builds and runs `flutter build apk --debug`
Expand All @@ -235,7 +274,7 @@ jobs:
working-directory: example
run: flutter build appbundle --release

# Step 9: Upload App Bundle artifact (optional)
# Step 12: Upload App Bundle artifact (optional)
# Useful for manual install testing and archiving release-mode output.
- name: Upload App Bundle artifact
if: success()
Expand All @@ -248,7 +287,14 @@ jobs:
# ===========================================================================
# Job 3: Build iOS Example App
# ===========================================================================
# Builds the example app for iOS to ensure plugin integration works
# Builds the example app to ensure plugin integration works
#
# The plugin's XCTest suite is deliberately not run here. It covers Foundation
# behavior rather than plugin code (`RunnerTests` re-implements the function
# under test instead of importing it), so a simulator boot and a second, debug
# build of the app would buy no coverage on a runner that bills at 10x. Wire
# it in once there are XCTests that exercise `AppsflyerSdkPlugin` /
# `AFRPCBridge` directly.
# Uses: macOS runner (required for Xcode and iOS builds)
# Note: macOS runners consume 10x minutes on private repos
# ===========================================================================
Expand Down Expand Up @@ -291,26 +337,31 @@ jobs:
working-directory: example
run: flutter pub get

# Step 6: Update CocoaPods repo (ensures latest pod specs)
# Step 6: Regenerate iOS build settings (Flutter.podspec deployment target, etc.)
- name: Regenerate iOS project configuration
working-directory: example
run: flutter build ios --config-only

# Step 7: Update CocoaPods repo (ensures latest pod specs)
# This can be slow, so we only update if needed
- name: Update CocoaPods repo
working-directory: example/ios
run: pod repo update

# Step 7: Install CocoaPods dependencies
# Step 8: Install CocoaPods dependencies
# This installs native iOS dependencies including AppsFlyer SDK
- name: Install CocoaPods dependencies
working-directory: example/ios
run: pod install

# Step 8: Create dummy .env file for CI (not committed to repo)
# Step 9: Create dummy .env file for CI (not committed to repo)
- name: Create dummy .env for CI build
working-directory: example
run: |
echo "DEV_KEY=dummy_dev_key" > .env
echo "APP_ID=dummy_app_id" >> .env

# Step 9: Build iOS IPA without code signing (release mode)
# Step 10: Build iOS IPA without code signing (release mode)
# Validates a full release build without requiring certificates. Catches
# archive bundling and signing-config issues a simulator-debug build
# won't. The simulator-debug build that used to live here was dropped
Expand All @@ -320,7 +371,7 @@ jobs:
working-directory: example
run: flutter build ipa --release --no-codesign

# Step 10: Upload build artifacts (optional)
# Step 11: Upload build artifacts (optional)
- name: Upload iOS build artifact
if: success()
uses: actions/upload-artifact@v5
Expand All @@ -347,9 +398,9 @@ jobs:
echo "==================================="
echo "Lint, Test & Build summary"
echo "==================================="
echo "Test Job: ${{ needs.test.result }}"
echo "Android Build: ${{ needs.build-android.result }}"
echo "iOS Build: ${{ needs.build-ios.result }}"
echo "Dart unit/lint: ${{ needs.test.result }}"
echo "Android native tests + build: ${{ needs.build-android.result }}"
echo "iOS build: ${{ needs.build-ios.result }}"
echo "==================================="

# 'skipped' is acceptable for any of the three jobs (skip_unit=true
Expand All @@ -365,7 +416,7 @@ jobs:
exit 1
fi
if [[ "$android_result" != "success" && "$android_result" != "skipped" ]]; then
echo "❌ Android release build failed"
echo "❌ Android native tests or release build failed"
exit 1
fi
if [[ "$ios_result" != "success" && "$ios_result" != "skipped" ]]; then
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/production-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -405,9 +405,11 @@ jobs:

## 📚 Documentation

- [Installation Guide](https://github.com/${{ github.repository }}/blob/master/doc/Installation.md)
- [Basic Integration](https://github.com/${{ github.repository }}/blob/master/doc/BasicIntegration.md)
- [API Documentation](https://github.com/${{ github.repository }}/blob/master/doc/API.md)
- [Documentation index](https://github.com/${{ github.repository }}/blob/master/doc/README.md)
- [Installation](https://github.com/${{ github.repository }}/blob/master/doc/installation-guide.md)
- [Getting started](https://github.com/${{ github.repository }}/blob/master/doc/getting-started.md)
- [API reference](https://github.com/${{ github.repository }}/blob/master/doc/api-reference.md)
- [Migrating v6 → v7](https://github.com/${{ github.repository }}/blob/master/doc/migration-guide.md)
- [Sample App](https://github.com/${{ github.repository }}/tree/master/example)

## 🔗 Links
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/promote-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ jobs:
VERSION='${{ steps.compute-version.outputs.version }}'
echo "Updating PLUGIN_VERSION constants to: $VERSION"

# Android - AppsFlyerConstants.java
ANDROID_FILE="android/src/main/java/com/appsflyer/appsflyersdk/AppsFlyerConstants.java"
# Android - AppsFlyerConstants.kt
ANDROID_FILE="android/src/main/kotlin/com/appsflyer/appsflyersdk/AppsFlyerConstants.kt"
if [ -f "$ANDROID_FILE" ]; then
sed -i "s/PLUGIN_VERSION = \".*\"/PLUGIN_VERSION = \"$VERSION\"/" "$ANDROID_FILE"
echo "✅ Android:" && grep "PLUGIN_VERSION" "$ANDROID_FILE"
Expand All @@ -148,11 +148,14 @@ jobs:
echo "✅ Dart:" && grep "PLUGIN_VERSION" "$DART_FILE"
fi

# iOS - AppsflyerSdkPlugin.h (#define)
IOS_FILE="ios/Classes/AppsflyerSdkPlugin.h"
# iOS - AppsflyerSdkPlugin.swift
IOS_FILE="ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsflyerSdkPlugin.swift"
if [ -f "$IOS_FILE" ]; then
sed -i 's/kAppsFlyerPluginVersion[[:space:]]*@"[^"]*"/kAppsFlyerPluginVersion @"'"$VERSION"'"/' "$IOS_FILE"
sed -i "s/kAppsFlyerPluginVersion = \".*\"/kAppsFlyerPluginVersion = \"$VERSION\"/" "$IOS_FILE"
echo "✅ iOS:" && grep "kAppsFlyerPluginVersion" "$IOS_FILE"
else
echo "::error::iOS plugin version file not found: $IOS_FILE" >&2
exit 1
fi

- name: Commit and push version changes
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/rc-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,8 @@ jobs:
VERSION='${{ needs.validate-release.outputs.version }}'
echo "Updating PLUGIN_VERSION constants to: $VERSION"

# Android - AppsFlyerConstants.java
ANDROID_FILE="android/src/main/java/com/appsflyer/appsflyersdk/AppsFlyerConstants.java"
# Android - AppsFlyerConstants.kt
ANDROID_FILE="android/src/main/kotlin/com/appsflyer/appsflyersdk/AppsFlyerConstants.kt"
if [ -f "$ANDROID_FILE" ]; then
sed -i.bak "s/PLUGIN_VERSION = \".*\"/PLUGIN_VERSION = \"$VERSION\"/" "$ANDROID_FILE"
rm "$ANDROID_FILE.bak"
Expand All @@ -334,12 +334,15 @@ jobs:
echo "✅ Dart:" && grep "PLUGIN_VERSION" "$DART_FILE"
fi

# iOS - AppsflyerSdkPlugin.h (#define)
IOS_FILE="ios/Classes/AppsflyerSdkPlugin.h"
# iOS - AppsflyerSdkPlugin.swift
IOS_FILE="ios/appsflyer_sdk/Sources/appsflyer_sdk/AppsflyerSdkPlugin.swift"
if [ -f "$IOS_FILE" ]; then
sed -i.bak 's/kAppsFlyerPluginVersion[[:space:]]*@"[^"]*"/kAppsFlyerPluginVersion @"'"$VERSION"'"/' "$IOS_FILE"
sed -i.bak "s/kAppsFlyerPluginVersion = \".*\"/kAppsFlyerPluginVersion = \"$VERSION\"/" "$IOS_FILE"
rm "$IOS_FILE.bak"
echo "✅ iOS:" && grep "kAppsFlyerPluginVersion" "$IOS_FILE"
else
echo "::error::iOS plugin version file not found: $IOS_FILE" >&2
exit 1
fi

- name: Update README SDK and Purchase Connector versions
Expand Down
9 changes: 8 additions & 1 deletion .pubignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@ package.json
package-lock.json
node_modules/
local.properties
build/
coverage/
.githooks/
.cursor/
.claude/
CLAUDE.md
ai-delivery-workflow-templat/
internal-docs/
output.af-quiz-me/

# Example app files that shouldn't be in package
example/.env
Expand All @@ -20,7 +28,6 @@ example/android/local.properties

# CI/CD files
.github/
.travis.yml

# RC pipeline scaffolding (never part of the pub.dev artifact)
example_rc_smoke/
Expand Down
19 changes: 0 additions & 19 deletions .travis.yml

This file was deleted.

Loading
Loading