Skip to content

Commit

Permalink
feat: Upgrade native sdk 4.1.0
Browse files Browse the repository at this point in the history
* feat: Upgrade native sdk 4.1.0
  • Loading branch information
littleGnAl committed Dec 20, 2022
1 parent 84fdfc2 commit 1868ecc
Show file tree
Hide file tree
Showing 441 changed files with 25,819 additions and 25,288 deletions.
47 changes: 15 additions & 32 deletions .github/workflows/build.yml
Expand Up @@ -13,10 +13,12 @@ on:
branches:
- main
- release/**

- special/**

jobs:
flutter_codestyle_check:
name: Flutter codestyle/analyze check
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -37,6 +39,7 @@ jobs:
integration_test_android:
name: Run Flutter Android Integration Tests
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
Expand Down Expand Up @@ -64,6 +67,7 @@ jobs:

integration_test_ios:
name: Run Flutter iOS Integration Tests
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
Expand All @@ -84,6 +88,7 @@ jobs:

integration_test_macos:
name: Run Flutter macOS Integration Tests
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
Expand All @@ -102,6 +107,7 @@ jobs:

integration_test_windows:
name: Run Flutter Windows Integration Tests
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
Expand All @@ -116,39 +122,14 @@ jobs:
with:
flutter-version: ${{ matrix.version }}
- run: flutter config --enable-windows-desktop
- run: bash ci/run_flutter_windows_integration_test.sh

# unittest_android:
# name: Run Android Unit Test
# needs: flutter_codestyle_check
# runs-on: ubuntu-latest
# timeout-minutes: 60
# steps:
# - uses: actions/checkout@v1
# - uses: actions/setup-java@v1
# with:
# java-version: '11'
# - uses: subosito/flutter-action@v1
# with:
# flutter-version: '2.10.5'
# - run: flutter pub get
# - run: bash ci/run_android_test.sh
- name: Run windows integration test
shell: bash
run: |
bash ci/run_flutter_windows_integration_test.sh
# unittest_ios:
# name: Run iOS Unit Test
# needs: flutter_codestyle_check
# runs-on: macos-11
# timeout-minutes: 60
# steps:
# - uses: actions/checkout@v1
# - uses: subosito/flutter-action@v1
# with:
# flutter-version: '2.10.5'
# - run: flutter pub get
# - run: bash ci/run_ios_test.sh

build_android_windows:
name: Build Android on Windows
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
Expand All @@ -169,6 +150,7 @@ jobs:

build_android_ubuntu:
name: Build Android on Ubuntu
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
Expand All @@ -189,6 +171,7 @@ jobs:

build_ios:
name: Build iOS
if: ${{ !contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
Expand All @@ -203,4 +186,4 @@ jobs:
- run: flutter pub get
- name: Run flutter build ios --no-codesign
run: flutter build ios --no-codesign
working-directory: example
working-directory: example
222 changes: 222 additions & 0 deletions .github/workflows/integration-test-iris-artifacts.yml
@@ -0,0 +1,222 @@
name: Integration test with iris artifacts

on:
pull_request:
types: [labeled, synchronize]
branches:
- main
- release/**
- special/**

jobs:
flutter_codestyle_check:
name: Flutter codestyle/analyze check
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: axel-op/dart-package-analyzer@v3
id: analysis
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
- name: Check scores
env:
TOTAL: ${{ steps.analysis.outputs.total }}
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
run: |
if (( $TOTAL < 120 ))
then
echo Pub Score too low.
exit 1
fi
integration_test_android:
name: Run Flutter Android Integration Tests
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: macos-11
timeout-minutes: 120
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v1
- uses: actions/setup-java@v1
with:
java-version: '11'
- uses: subosito/flutter-action@v1
with:
flutter-version: ${{ matrix.version }}
- name: Checkout hoe
uses: actions/checkout@v3
with:
repository: littleGnAl/hoe
ref: littlegnal/update
path: hoe
- name: Download iris artifacts
run: |
source scripts/artifacts_version.sh
PROJECT_DIR=$(pwd)
mkdir -p output
cd hoe
dart pub get
dart run bin/hoe.dart build-agora-flutter-example \
--setup-local-dev \
--project-dir=${PROJECT_DIR} \
--artifacts-output-dir=${PROJECT_DIR}/output \
--platforms=android,macos \
--apple-package-name=io.agora.agoraRtcEngineExample \
--flutter-package-name=agora_rtc_engine \
--iris-android-cdn-url=${IRIS_CDN_URL_ANDROID} \
--iris-macos-cdn-url=${IRIS_CDN_URL_MACOS}
- run: flutter config --enable-macos-desktop
- name: run flutter android integration tests
uses: reactivecircus/android-emulator-runner@v2.21.0
with:
api-level: 31
arch: x86_64
profile: Nexus 6
ram-size: 2048M
heap-size: 4096M
disk-size: 8192M
script: bash ci/run_flutter_integration_test_android.sh 0

integration_test_ios:
name: Run Flutter iOS Integration Tests
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: macos-11
timeout-minutes: 120
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v1
- uses: subosito/flutter-action@v1
with:
flutter-version: ${{ matrix.version }}
- uses: futureware-tech/simulator-action@v1
with:
model: 'iPhone 13 Pro Max'
- name: Checkout hoe
uses: actions/checkout@v3
with:
repository: littleGnAl/hoe
ref: littlegnal/update
path: hoe
- name: Download iris artifacts
run: |
source scripts/artifacts_version.sh
PROJECT_DIR=$(pwd)
mkdir -p output
cd hoe
dart pub get
dart run bin/hoe.dart build-agora-flutter-example \
--setup-local-dev \
--project-dir=${PROJECT_DIR} \
--artifacts-output-dir=${PROJECT_DIR}/output \
--platforms=ios \
--apple-package-name=io.agora.agoraRtcEngineExample \
--flutter-package-name=agora_rtc_engine \
--iris-ios-cdn-url=${IRIS_CDN_URL_IOS}
- run: bash ci/run_flutter_integration_test_ios.sh 0

integration_test_macos:
name: Run Flutter macOS Integration Tests
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: macos-11
timeout-minutes: 120
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v1
with:
flutter-version: ${{ matrix.version }}
- name: Checkout hoe
uses: actions/checkout@v3
with:
repository: littleGnAl/hoe
ref: littlegnal/update
path: hoe
- name: Download iris artifacts
run: |
source scripts/artifacts_version.sh
PROJECT_DIR=$(pwd)
echo "project dir: ${PROJECT_DIR}"
ls ${PROJECT_DIR}
mkdir -p output
cd hoe
dart pub get
dart run bin/hoe.dart build-agora-flutter-example \
--setup-local-dev \
--project-dir=${PROJECT_DIR} \
--artifacts-output-dir=${PROJECT_DIR}/output \
--platforms=macos \
--apple-package-name=io.agora.agoraRtcEngineExample \
--flutter-package-name=agora_rtc_engine \
--iris-macos-cdn-url=${IRIS_CDN_URL_MACOS}
- run: flutter config --enable-macos-desktop
- run: bash ci/run_flutter_macos_integration_test.sh 0

integration_test_windows:
name: Run Flutter Windows Integration Tests
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
needs: flutter_codestyle_check
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: windows-2019
timeout-minutes: 120
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v1
- uses: subosito/flutter-action@v1
with:
flutter-version: ${{ matrix.version }}
- name: Checkout hoe
uses: actions/checkout@v3
with:
repository: littleGnAl/hoe
ref: littlegnal/update
path: hoe
- name: Download iris artifacts
shell: bash
run: |
source scripts/artifacts_version.sh
PROJECT_DIR=$(pwd)
mkdir -p output
cd hoe
dart pub get
dart run bin/hoe.dart build-agora-flutter-example \
--setup-local-dev \
--project-dir=${PROJECT_DIR} \
--artifacts-output-dir=${PROJECT_DIR}/output \
--platforms=windows \
--apple-package-name=io.agora.agoraRtcEngineExample \
--flutter-package-name=agora_rtc_engine \
--iris-windows-cdn-url=${IRIS_CDN_URL_WINDOWS}
- run: flutter config --enable-windows-desktop
- name: Run windows integration test
shell: bash
run: |
bash ci/run_flutter_windows_integration_test.sh 0
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -22,7 +22,7 @@

# Flutter/Dart/Pub related
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
/pubspec.lock
**/pubspec.lock
**/doc/api/
.dart_tool/
.packages
Expand Down
10 changes: 5 additions & 5 deletions README.md
Expand Up @@ -72,11 +72,11 @@ The [agora_rtc_engine](https://pub.dev/packages/agora_rtc_engine) supports Andro

## API Reference Resources

* [Flutter](https://docs.agora.io/en/video-call-4.x-beta/API%20Reference/flutter_ng/API/rtc_api_overview_ng.html)
* [Android](https://docs-preprod.agora.io/en/video-call-4.x-beta/API%20Reference/java_ng/API/rtc_api_overview_ng.html)
* [iOS/macOS](https://docs-preprod.agora.io/en/video-call-4.x-beta/API%20Reference/mac_ng/API/rtc_api_overview_ng.html)
* [Windows](https://docs-preprod.agora.io/en/video-call-4.x-beta/API%20Reference/windows_ng/API/rtc_api_overview_ng.html)
* [Web](https://docs.agora.io/en/Video/API%20Reference/web_ng/index.html)
* [Flutter](https://api-ref.agora.io/en/voice-sdk/flutter/6.x/API/rtc_api_overview_ng.html)
* [Android](https://api-ref.agora.io/en/voice-sdk/android/4.x/API/rtc_api_overview_ng.html)
* [iOS/macOS](https://api-ref.agora.io/en/voice-sdk/ios/4.x/API/rtc_api_overview_ng.html)
* [Windows](https://api-ref.agora.io/en/video-sdk/cpp/4.x/API/rtc_api_overview_ng.html)
* [Web](https://api-ref.agora.io/en/video-sdk/web/4.x/index.html)

## Feedback

Expand Down
1 change: 1 addition & 0 deletions analysis_options.yaml
Expand Up @@ -7,6 +7,7 @@ analyzer:
# Ignore generated files
- "**/*.g.dart"
- lib/src/impl/native_iris_api_engine_bindings.dart
- test_shard/**

linter:
rules:
Expand Down
6 changes: 3 additions & 3 deletions android/build.gradle
Expand Up @@ -47,9 +47,9 @@ dependencies {
if (isDev(project)) {
implementation fileTree(dir: "libs", include: ["*.jar"])
} else {
api 'io.agora.rtc:iris-rtc:4.0.0-rc.3'
api 'io.agora.rtc:agora-special-full:4.0.0.5'
implementation 'io.agora.rtc:full-screen-sharing:4.0.0.5'
api 'io.agora.rtc:iris-rtc:4.1.0-rc.2'
api 'io.agora.rtc:full-sdk:4.1.0-1'
implementation 'io.agora.rtc:full-screen-sharing:4.1.0-1'
}
}

Expand Down

0 comments on commit 1868ecc

Please sign in to comment.