Skip to content

Commit

Permalink
[ci] Allow external contributors to run the integration test (#1133)
Browse files Browse the repository at this point in the history
* [ci] Allow external contributors to run the integration test
  • Loading branch information
littleGnAl authored Jun 12, 2023
1 parent ea7627c commit 6db3838
Show file tree
Hide file tree
Showing 3 changed files with 272 additions and 173 deletions.
162 changes: 155 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ concurrency:
cancel-in-progress: true

on:
pull_request:
branches:
- main
- release/**
- special/**
- dev/**
workflow_call:
secrets:
MY_APP_ID:
required: true

jobs:
flutter_codestyle_check:
Expand Down Expand Up @@ -146,4 +144,154 @@ jobs:
- run: flutter pub get
- name: Run flutter build ios --no-codesign
run: flutter build ios --no-codesign
working-directory: example
working-directory: example

# Temporarily disable android screenshot test at this time, see EP-232.
# rendering_test_android:
# name: Run Flutter Android Integration Tests
# strategy:
# matrix:
# version: ['3.0.0']
# runs-on: macos-12
# timeout-minutes: 120
# 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
# if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test: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/[email protected]
# with:
# api-level: 31
# arch: x86_64
# profile: Nexus 6
# ram-size: 2048M
# heap-size: 4096M
# disk-size: 8192M
# script: bash ci/rendering_test_android.sh

rendering_test_macos:
name: Run Flutter macOS Rendering Tests
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
version: ['3.0.0']
runs-on: macos-12
timeout-minutes: 120
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
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test: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/rendering_test_macos.sh

rendering_test_windows:
name: Run Flutter Windows Rendering Tests
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
version: ['3.0.0']
runs-on: windows-2019
timeout-minutes: 120
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
if: ${{ contains(github.event.pull_request.labels.*.name, 'integration_test: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/rendering_test_windows.sh
166 changes: 0 additions & 166 deletions .github/workflows/rendering_test.yml

This file was deleted.

Loading

0 comments on commit 6db3838

Please sign in to comment.