Allow music mode to be turned on/off while the call is running #1991
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E Tests | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| api_level: | |
| description: 'Android API level to run on' | |
| type: string | |
| required: false | |
| default: '34' | |
| test_class: | |
| description: 'Fully qualified test class to run on its own, optionally with #method. Every batch job then runs it, giving independent samples of a flaky test.' | |
| type: string | |
| required: false | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| BUILD_CACHE_AWS_REGION: ${{ secrets.BUILD_CACHE_AWS_REGION }} | |
| BUILD_CACHE_AWS_BUCKET: ${{ secrets.BUILD_CACHE_AWS_BUCKET }} | |
| BUILD_CACHE_AWS_ACCESS_KEY_ID: ${{ secrets.BUILD_CACHE_AWS_ACCESS_KEY_ID }} | |
| BUILD_CACHE_AWS_SECRET_KEY: ${{ secrets.BUILD_CACHE_AWS_SECRET_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITHUB_PR_NUM: ${{ github.event.pull_request.number }} | |
| jobs: | |
| build-compose-apks: | |
| permissions: | |
| actions: write | |
| contents: read | |
| pull-requests: read | |
| name: Build | |
| uses: ./.github/workflows/e2e-build.yml | |
| secrets: inherit | |
| allure_testops_launch: | |
| permissions: | |
| actions: write | |
| contents: read | |
| pull-requests: read | |
| name: Launch Allure TestOps | |
| runs-on: ubuntu-24.04 | |
| needs: build-compose-apks | |
| outputs: | |
| launch_id: ${{ env.LAUNCH_ID }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - uses: GetStream/android-ci-actions/actions/setup-ruby@cb46e4f44d105a68738bfd2a1cfd156bb768665b | |
| - uses: GetStream/android-ci-actions/actions/allure-launch@cb46e4f44d105a68738bfd2a1cfd156bb768665b | |
| if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }} | |
| with: | |
| allure-token: ${{ secrets.ALLURE_TOKEN }} | |
| run-compose-tests: | |
| permissions: | |
| actions: write | |
| contents: read | |
| pull-requests: read | |
| name: Test compose | |
| runs-on: ubuntu-24.04 | |
| needs: | |
| - build-compose-apks | |
| - allure_testops_launch | |
| strategy: | |
| matrix: | |
| include: | |
| - batch: 0 | |
| - batch: 1 | |
| - batch: 2 | |
| fail-fast: false | |
| env: | |
| ANDROID_API_LEVEL: ${{ inputs.api_level || '34' }} | |
| LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| - uses: actions/download-artifact@v8.0.1 | |
| continue-on-error: true | |
| with: | |
| name: apks | |
| - uses: GetStream/android-ci-actions/actions/setup-java@cb46e4f44d105a68738bfd2a1cfd156bb768665b | |
| - uses: GetStream/android-ci-actions/actions/enable-kvm@cb46e4f44d105a68738bfd2a1cfd156bb768665b | |
| - uses: GetStream/android-ci-actions/actions/setup-ruby@cb46e4f44d105a68738bfd2a1cfd156bb768665b | |
| - name: Run tests | |
| uses: reactivecircus/android-emulator-runner@a421e43855164a8197daf9d8d40fe71c6996bb0d | |
| timeout-minutes: 45 | |
| env: | |
| # Passed through the environment and expanded quoted, so the value cannot | |
| # inject shell commands into the script line; the Fastfile validates it too. | |
| TEST_CLASS: ${{ inputs.test_class }} | |
| with: | |
| api-level: ${{ env.ANDROID_API_LEVEL }} | |
| disable-animations: true | |
| profile: pixel | |
| arch : x86_64 | |
| emulator-options: -no-snapshot-save -no-window -no-audio -no-boot-anim -gpu swiftshader_indirect -camera-back none -camera-front none | |
| script: bundle exec fastlane run_e2e_test batch:${{ matrix.batch }} batch_count:${{ strategy.job-total }} test_class:"$TEST_CLASS" | |
| - name: Allure TestOps Upload | |
| if: ${{ env.LAUNCH_ID != '' && (success() || failure()) }} | |
| run: bundle exec fastlane allure_upload | |
| env: | |
| ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }} | |
| LAUNCH_ID: ${{ env.LAUNCH_ID }} | |
| - name: Allure TestOps Launch Removal | |
| if: ${{ env.LAUNCH_ID != '' && cancelled() }} | |
| run: bundle exec fastlane allure_launch_removal | |
| env: | |
| ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }} | |
| LAUNCH_ID: ${{ env.LAUNCH_ID }} | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| timeout-minutes: 10 | |
| with: | |
| name: test_artifacts_${{ matrix.batch }} | |
| # The allure results carry the retry rule's failure artifacts (logcat, | |
| # screenshot, hierarchy per failed attempt), which TestOps deduplicates | |
| # away when the same test passes in another batch. | |
| path: | | |
| fastlane/recordings/* | |
| fastlane/allure-results/* | |
| fastlane/video-buddy-server.log | |
| fastlane/video-buddy-console.log |