Skip to content

Resolve a default audio session from engine state when no policy was pushed #3139

Resolve a default audio session from engine state when no policy was pushed

Resolve a default audio session from engine state when no policy was pushed #3139

Workflow file for this run

# Copyright 2024 LiveKit, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Build
permissions:
contents: read
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
dart-format-check:
name: Dart Format
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Dart Format Check
run: dart format . --set-exit-if-changed
import-sorter-check:
name: Import Sorter
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Import Sorter Check
run: dart run import_sorter:main --no-comments --exit-if-changed
version-consistency-check:
name: Version Consistency
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Check version consistency
run: dart run scripts/check_version.dart
dart-analyze-check:
name: Dart Analyze
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Dart Analyze Check
run: flutter analyze
# `flutter analyze` runs Flutter's AnalysisOptionsMigration first, which
# forces `web/**` into analysis_options.yaml. This package keeps real Dart
# source there (the E2EE worker), so analyze it separately -- `dart
# analyze` does not run migrators.
- name: Dart Analyze Check (web sources)
run: dart analyze web/
dart-test-check:
name: Dart Test
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Dart Test Check
run: flutter test
build-for-android:
name: Android
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
- name: Build for Android
working-directory: ./example
run: flutter build apk
build-for-ios:
name: iOS
runs-on: macos-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Ensure iOS SDK is available
run: |
if xcodebuild -showsdks | grep -q "iphoneos"; then
echo "iOS SDK already installed"
else
xcodebuild -downloadPlatform iOS
fi
# The Flutter tool copies plugins with SwiftPM plugin dependencies into the
# app build directory with rsync. Since the example lives inside the plugin
# repo that copy would recurse into its own output, so point the build
# directory outside the repository.
- name: Move example build dir outside the repository
working-directory: ./example
run: |
mkdir -p "$RUNNER_TEMP/example-build"
rm -rf build
ln -s "$RUNNER_TEMP/example-build" build
- name: Build for iOS
working-directory: ./example
run: flutter build ios --release --no-codesign
build-for-windows:
name: Windows
runs-on: windows-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
- name: Build for Windows
working-directory: ./example
run: flutter build windows --release
build-for-macos:
name: macOS
runs-on: macos-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
# See the iOS job, same flutter tool rsync recursion workaround.
- name: Move example build dir outside the repository
working-directory: ./example
run: |
mkdir -p "$RUNNER_TEMP/example-build"
rm -rf build
ln -s "$RUNNER_TEMP/example-build" build
- name: Build for macOS
working-directory: ./example
run: flutter build macos --release
build-for-linux:
name: Linux
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
- name: Run apt update
run: sudo apt-get update
- name: Install ninja-build libgtk-3-dev
run: sudo apt-get install -y ninja-build libgtk-3-dev
- name: Build for Linux
working-directory: ./example
run: flutter build linux
build-for-web:
name: Web
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
- name: Build for Web
working-directory: ./example
run: flutter build web
build-for-web-wasm:
name: Web WASM
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v6
- uses: ./.github/actions/setup-flutter
with:
java-version: "17.x"
- name: Build for Web
working-directory: ./example
run: flutter build web --wasm