Skip to content

finnal heads (#25)

finnal heads (#25) #65

Workflow file for this run

name: CI
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- main
- release/**
tags:
- v*.*.**
pull_request:
branches:
- main
- release/**
jobs:
cmake_build_android:
name: Build Android
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r21e
- uses: seanmiddleditch/gha-setup-ninja@master
- name: Run cmake build android
env:
ANDROID_NDK: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
ls $ANDROID_NDK
bash scripts/build-android.sh
OUTPUT_ARTIFACTORY_NAME="VideoObserver_Plugin_for_Android"
OUTPUT_ARTIFACTORY_PATH=output/${OUTPUT_ARTIFACTORY_NAME}
mkdir -p ${OUTPUT_ARTIFACTORY_PATH}
cp -RP build/android/ALL_ARCHITECTURE/output/Release/ ${OUTPUT_ARTIFACTORY_PATH}
ZIP_FILE_NAME="${OUTPUT_ARTIFACTORY_NAME}.zip"
pushd output
zip -r -y "$ZIP_FILE_NAME" $OUTPUT_ARTIFACTORY_NAME
popd
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
output/*.zip
- name: Release
uses: softprops/action-gh-release@v1
if: ${{ github.event_name == 'push' }}
with:
draft: true
files: |
output/*.zip
cmake_build_ios:
name: Build ios
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Run cmake build ios
run: |
bash scripts/build-ios.sh
OUTPUT_ARTIFACTORY_NAME="VideoObserver_Plugin_for_iOS"
OUTPUT_ARTIFACTORY_PATH=output/${OUTPUT_ARTIFACTORY_NAME}
mkdir -p ${OUTPUT_ARTIFACTORY_PATH}
cp -RP build/ios/ALL_ARCHITECTURE/output/Release/ ${OUTPUT_ARTIFACTORY_PATH}
ZIP_FILE_NAME="${OUTPUT_ARTIFACTORY_NAME}.zip"
pushd output
zip -r -y "$ZIP_FILE_NAME" $OUTPUT_ARTIFACTORY_NAME
popd
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
output/*.zip
- name: Release
uses: softprops/action-gh-release@v1
if: ${{ github.event_name == 'push' }}
with:
draft: true
files: |
output/*.zip
cmake_build_macos:
name: Build macos
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Run cmake build macos
run: |
bash scripts/build-mac.sh
OUTPUT_ARTIFACTORY_NAME="VideoObserver_Plugin_for_macOS"
OUTPUT_ARTIFACTORY_PATH=output/${OUTPUT_ARTIFACTORY_NAME}
mkdir -p ${OUTPUT_ARTIFACTORY_PATH}
cp -RP build/mac/MAC/output/Release/ ${OUTPUT_ARTIFACTORY_PATH}
ZIP_FILE_NAME="${OUTPUT_ARTIFACTORY_NAME}.zip"
pushd output
zip -r -y "$ZIP_FILE_NAME" $OUTPUT_ARTIFACTORY_NAME
popd
lipo -remove arm64 build/mac/MAC/output/Release/AgoraRawDataPlugin.dylib -o output/VideoObserverPlugin_x64.dylib
lipo -remove x86_64 build/mac/MAC/output/Release/AgoraRawDataPlugin.dylib -o output/VideoObserverPlugin_arm64.dylib
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
output/*.zip
output/*.dylib
- name: Release
uses: softprops/action-gh-release@v1
if: ${{ github.event_name == 'push' }}
with:
draft: true
files: |
output/*.zip
output/*.dylib
cmake_build_windows:
name: Build windows
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- name: Run cmake build windows
shell: bash
run: |
scripts/build-windows.bat
OUTPUT_ARTIFACTORY_NAME="VideoObserver_Plugin_for_Windows"
OUTPUT_ARTIFACTORY_PATH=output/${OUTPUT_ARTIFACTORY_NAME}
mkdir -p ${OUTPUT_ARTIFACTORY_PATH}
cp -RP build/windows/Win32/output/Release/ ${OUTPUT_ARTIFACTORY_PATH}/Win32
cp -RP build/windows/x64/output/Release/ ${OUTPUT_ARTIFACTORY_PATH}/x64
ZIP_FILE_NAME="${OUTPUT_ARTIFACTORY_NAME}.zip"
pushd output
tar.exe -a -c -f "$ZIP_FILE_NAME" $OUTPUT_ARTIFACTORY_NAME
popd
cp build/windows/Win32/output/Release/AgoraRawDataPlugin.dll output/VideoObserverPlugin_ia32.dll
cp build/windows/x64/output/Release/AgoraRawDataPlugin.dll output/VideoObserverPlugin_x64.dll
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
output/*.zip
output/*.dll
- name: Release
uses: softprops/action-gh-release@v1
if: ${{ github.event_name == 'push' }}
with:
draft: true
files: |
output/*.zip
output/*.dll
build_flutter_apple:
name: Build flutter
runs-on: macos-latest
if: ${{ github.event_name == 'pull_request' }}
strategy:
matrix:
platform: ["ios", "macos"]
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: 3.0.0
cache: true
- run: flutter pub get
working-directory: frameworks/flutter/video_raw_data
- run: flutter build ${{ matrix.platform }} --no-codesign
if: ${{ matrix.platform == 'ios' }}
working-directory: frameworks/flutter/video_raw_data/example
- run: flutter build ${{ matrix.platform }}
if: ${{ matrix.platform == 'macos' }}
working-directory: frameworks/flutter/video_raw_data/example
build_flutter_other:
name: Build flutter
runs-on: windows-latest
if: ${{ github.event_name == 'pull_request' }}
strategy:
matrix:
platform: ["apk", "windows"]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v1
if: ${{ matrix.platform == 'apk' }}
with:
java-version: "11"
- uses: subosito/flutter-action@v2
with:
flutter-version: 3.0.0
cache: true
- run: flutter pub get
working-directory: frameworks/flutter/video_raw_data
- run: flutter build ${{ matrix.platform }}
working-directory: frameworks/flutter/video_raw_data/example