Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests: library tests to play multiple sources #1333

Merged
merged 50 commits into from
Dec 25, 2022
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
c7a32c6
tests: play multiple sources
Gustl22 Oct 14, 2022
64caacf
make linter happy
Gustl22 Nov 23, 2022
dde179c
make flutter analyzer happy
Gustl22 Nov 23, 2022
697972d
chore(workflow): run lib tests on web
Gustl22 Dec 9, 2022
d7d23cd
feat(web): audioCache add timeout
Gustl22 Dec 9, 2022
f7c3f29
tests(web): exclude asset lib_tests
Gustl22 Dec 9, 2022
9bcd512
update todos
Gustl22 Dec 13, 2022
0b28d64
fix: add missing IntegrationTestWidgetsFlutterBinding
Gustl22 Dec 14, 2022
5ee7fbd
rearrange app sources
Gustl22 Dec 14, 2022
4f7049b
revert unnecessary timeout
Gustl22 Dec 14, 2022
1310c5b
adapt timeouts
Gustl22 Dec 14, 2022
861fcaa
chore: fix CI flutter test execution
Gustl22 Dec 14, 2022
c6e4d5d
server: add simple server
Gustl22 Dec 15, 2022
da05187
server: adapt server
Gustl22 Dec 15, 2022
38c5748
server: adapt server
Gustl22 Dec 16, 2022
77add1d
CI: run via test server
Gustl22 Dec 16, 2022
5593252
remove tests for server
Gustl22 Dec 18, 2022
c142e98
chore: fix windows starting test server
Gustl22 Dec 18, 2022
7d89996
state problems with local m3u8
Gustl22 Dec 18, 2022
81e3880
test fix url
Gustl22 Dec 20, 2022
199ad90
update docs
Gustl22 Dec 20, 2022
5d7a7be
update readme in server
Gustl22 Dec 20, 2022
8c12e4c
update gitignore
Gustl22 Dec 20, 2022
a7cedec
remove m3u8 end indicator
Gustl22 Dec 20, 2022
78b3b8d
fix flutter drive command
Gustl22 Dec 20, 2022
9fc5226
disable web security to run on local server
Gustl22 Dec 20, 2022
67e1ba4
feat: error stream (#1266)
Gustl22 Dec 20, 2022
11e96b6
feat: remove docs / comments from server
Gustl22 Dec 21, 2022
edca6ad
feat: change to flame lint in test server
Gustl22 Dec 21, 2022
76ae8b4
run windows in powershell
Gustl22 Dec 21, 2022
0d6397d
server: refactor REQUEST_TIMEOUT to LATENCY
Gustl22 Dec 21, 2022
a880038
selectable tests for workflow_dispatch in build
Gustl22 Dec 21, 2022
48d5f8c
server: disable logging requests
Gustl22 Dec 22, 2022
b02c358
chore: increase timeout minutes for android tests
Gustl22 Dec 22, 2022
e8c2884
WIP: Android Integration Tests on CI
Gustl22 Dec 21, 2022
c33d199
Revert "WIP: Android Integration Tests on CI"
Gustl22 Dec 22, 2022
d03b63d
Revert "feat: error stream (#1266)"
Gustl22 Dec 22, 2022
1aae41b
test: disable simultaneously tests for Android
Gustl22 Dec 22, 2022
4f2b218
flutter format
Gustl22 Dec 23, 2022
080364a
test: update Fixme of tests
Gustl22 Dec 23, 2022
eee68bc
server: update readme
Gustl22 Dec 23, 2022
ff6ae15
make analyzer happy
Gustl22 Dec 23, 2022
2abf8ac
make test a reusable workflow
Gustl22 Dec 23, 2022
80798dc
split build and test workflow
Gustl22 Dec 23, 2022
2cf64f2
refactor .yaml to .yml
Gustl22 Dec 23, 2022
7a21530
move android unit tests to build workflow
Gustl22 Dec 23, 2022
dc75d96
Merge branch 'main' into feat/test-multiple-sources
Gustl22 Dec 24, 2022
c52022a
Merge remote-tracking branch 'upstream/main' into feat/test-multiple-…
Gustl22 Dec 24, 2022
60f0622
Merge remote-tracking branch 'upstream/main' into feat/test-multiple-…
Gustl22 Dec 24, 2022
5012a2a
Merge branch 'main' into feat/test-multiple-sources
Gustl22 Dec 25, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
176 changes: 176 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
name: build
on:
workflow_dispatch:
inputs:
enable_android:
description: 'Build Android'
required: false
Gustl22 marked this conversation as resolved.
Show resolved Hide resolved
default: true
type: boolean
enable_web:
description: 'Build Web'
required: false
default: true
type: boolean
enable_ios:
description: 'Build IOS'
required: false
default: true
type: boolean
enable_windows:
description: 'Build Windows'
required: false
default: true
type: boolean
enable_linux:
description: 'Build Linux'
required: false
default: true
type: boolean
enable_macos:
description: 'Build MacOS'
required: false
default: true
type: boolean
workflow_call:
inputs:
enable_android:
required: false
default: true
type: boolean
enable_web:
required: false
default: true
type: boolean
enable_ios:
required: false
default: true
type: boolean
enable_windows:
required: false
default: true
type: boolean
enable_linux:
required: false
default: true
type: boolean
enable_macos:
required: false
default: true
type: boolean

jobs:
web:
runs-on: ubuntu-latest
timeout-minutes: 30
if: inputs.enable_web
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@main

- name: Example app - Build Web app
working-directory: ./packages/audioplayers/example
run: |
flutter build web

android:
runs-on: ubuntu-latest
timeout-minutes: 60
if: inputs.enable_android
steps:
- uses: actions/checkout@v3

- name: Setup Java
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'

- name: Setup Android SDK
uses: android-actions/setup-android@v2

- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@main

- name: Example App - Build Android APK
working-directory: ./packages/audioplayers/example
run: |
flutter build apk --release

- name: Run Android unit tests
working-directory: ./packages/audioplayers/example/android
run: |
./gradlew test

ios:
runs-on: macOS-latest
timeout-minutes: 30
if: inputs.enable_ios
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@main

- name: Example app - Build iOS
working-directory: ./packages/audioplayers/example
run: |
flutter build ios --release --no-codesign

macos:
runs-on: macOS-latest
timeout-minutes: 30
if: inputs.enable_macos
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@main

- name: setup-cocoapods
uses: maxim-lobanov/setup-cocoapods@v1
with:
podfile-path: ./packages/audioplayers/example/macos/Podfile.lock
- name: Example app - Build macOS
working-directory: ./packages/audioplayers/example
run: |
flutter config --enable-macos-desktop
flutter build macos --release

windows:
runs-on: windows-latest
timeout-minutes: 30
if: inputs.enable_windows
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@main

- name: Example app - Build Windows app
working-directory: ./packages/audioplayers/example
run: |
flutter build windows --release

linux:
runs-on: ubuntu-latest
timeout-minutes: 30
if: inputs.enable_linux
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- uses: bluefireteam/melos-action@main

- name: Install Flutter requirements for Linux
run: |
sudo apt-get update
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
- name: Install GStreamer
# Install libunwind-dev, see https://github.com/actions/runner-images/issues/6399#issuecomment-1285011525
run: |
sudo apt install -y libunwind-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

- name: Example app - Build Linux app
working-directory: ./packages/audioplayers/example
run: |
flutter config --enable-linux-desktop
flutter build linux --release
23 changes: 23 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: pull-request
on:
push:
branches:
- main
pull_request:
branches:
- main
types:
- opened
- reopened
- synchronize
- ready_for_review

jobs:
call-build:
uses: ./.github/workflows/build.yml
if: github.event.pull_request.draft == false

call-test:
needs: call-build
uses: ./.github/workflows/test.yml
if: github.event.pull_request.draft == false