Skip to content

Refresh the video calling screens with the design system tokens #2009

Refresh the video calling screens with the design system tokens

Refresh the video calling screens with the design system tokens #2009

Workflow file for this run

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