Skip to content

feat: sync from main #2117

feat: sync from main

feat: sync from main #2117

name: Integration test with iris artifacts
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
types: [labeled, synchronize]
branches:
- main
- release/**
- special/**
- dev/**
jobs:
integration_test_android:
name: Run Flutter Android Integration Tests
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test:iris_artifacts') }}
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: macos-latest
timeout-minutes: 60
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v1
with:
java-version: '11'
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
cache: true
- 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') }}
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: macos-latest
timeout-minutes: 60
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
cache: true
- uses: futureware-tech/simulator-action@v3
with:
model: 'iPhone 15'
- 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') }}
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: macos-latest
timeout-minutes: 60
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
cache: true
- 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') }}
strategy:
matrix:
version: ['2.10.5', '3.0.0']
runs-on: windows-2019
timeout-minutes: 60
env:
TEST_APP_ID: ${{ secrets.MY_APP_ID }}
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
cache: true
- 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