feat: Participant Stats #6093
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: React Native Dogfood Release | |
| env: | |
| SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
| GOOGLE_APPLICATION_CREDENTIALS: '/home/runner/rn-samples-google-services.json' | |
| MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
| MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }} | |
| APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }} | |
| APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }} | |
| APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }} | |
| STREAM_SDK_TEST_APP: ${{ secrets.STREAM_SDK_TEST_APP }} | |
| STREAM_SDK_TEST_ACCOUNT_EMAIL: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_EMAIL }} | |
| STREAM_SDK_TEST_ACCOUNT_PASSWORD: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_PASSWORD }} | |
| STREAM_SDK_TEST_ACCOUNT_OTP_SECRET: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_OTP_SECRET }} | |
| RN_DOGFOOD_ANDROID_KEYSTORE: '/home/runner/stream-video-calls-rn.keystore' | |
| RN_DOGFOOD_ANDROID_KEYSTORE_PASSWORD: ${{ secrets.RN_DOGFOOD_ANDROID_KEYSTORE_PASSWORD }} | |
| RN_DOGFOOD_ANDROID_KEYSTORE_ALIAS: ${{ secrets.RN_DOGFOOD_ANDROID_KEYSTORE_ALIAS }} | |
| RN_DOGFOOD_ANDROID_DEPLOY_SERVICE_ACCOUNT: '/home/runner/service-account.json' | |
| FASTLANE_SKIP_UPDATE_CHECK: 1 | |
| REACT_NATIVE_DOGFOOD_APP_ENVIRONMENT: 'demo' | |
| on: | |
| push: | |
| tags: | |
| - '@stream-io/video-react-native-dogfood-*' | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| paths: | |
| - '.github/workflows/react-native-workflow.yml' | |
| - 'sample-apps/react-native/dogfood/**' | |
| - 'packages/client/**' | |
| - 'packages/react-bindings/**' | |
| - 'packages/react-native-sdk/**' | |
| - 'packages/noise-cancellation-react-native/**' | |
| - 'packages/video-filters-react-native/**' | |
| - '!**.md' | |
| workflow_dispatch: | |
| concurrency: | |
| group: react-native-workflow-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| code_review: | |
| name: Code Lint, Unit Test and dogfood versioning | |
| timeout-minutes: 20 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/rn-bootstrap | |
| timeout-minutes: 15 | |
| env: | |
| INSTALL_NODE: true | |
| INSTALL_RN_DEPENDENCIES: true | |
| - name: Lint fastlane | |
| working-directory: sample-apps/react-native/dogfood | |
| run: bundle exec fastlane rubocop | |
| - name: Test RN SDK (Unit tests only) | |
| run: yarn test:react-native:sdk | |
| build_ios: | |
| name: Build iOS | |
| timeout-minutes: 60 | |
| needs: code_review | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select XCode version | |
| run: sudo xcode-select --switch /Applications/Xcode_16.4.app | |
| - uses: ./.github/actions/rn-bootstrap | |
| timeout-minutes: 20 | |
| env: | |
| INSTALL_NODE: true | |
| INSTALL_PODS: true | |
| INSTALL_RN_DEPENDENCIES: true | |
| - name: Build | |
| working-directory: sample-apps/react-native/dogfood | |
| run: bundle exec fastlane build_ios | |
| - name: Upload .ipa | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ipa | |
| path: | | |
| **/dogfood/dist/*.ipa | |
| **/dogfood/dist/*.zip | |
| deploy_ios: | |
| name: Deploy iOS | |
| needs: build_ios | |
| timeout-minutes: 60 | |
| if: ${{ github.ref == 'refs/heads/main' }} | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select XCode version | |
| run: sudo xcode-select --switch /Applications/Xcode_16.4.app | |
| - uses: ./.github/actions/rn-bootstrap | |
| timeout-minutes: 15 | |
| - name: Download .ipa | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: ipa | |
| - name: Deploy | |
| working-directory: sample-apps/react-native/dogfood | |
| run: bundle exec fastlane deploy_ios | |
| build_android: | |
| name: Build Android | |
| timeout-minutes: 60 | |
| needs: code_review | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/rn-bootstrap | |
| timeout-minutes: 15 | |
| env: | |
| INSTALL_NODE: true | |
| INSTALL_JAVA: true | |
| INSTALL_RN_DEPENDENCIES: true | |
| - name: Create Google Services JSON File | |
| env: | |
| DATA: ${{ secrets.GOOGLE_SERVICES_JSON_RN_SAMPLES_DEPLOYMENT }} | |
| run: echo $DATA > ~/rn-samples-google-services.json | |
| shell: bash | |
| - name: Create Google Service Account for Play Store Deployment | |
| env: | |
| DATA: ${{ secrets.RN_DOGFOOD_ANDROID_DEPLOY_SERVICE_ACCOUNT_BASE64 }} | |
| run: echo $DATA | base64 --decode | jq > ~/service-account.json | |
| shell: bash | |
| - name: Create Keystore Signing for Play Store Deployment | |
| env: | |
| DATA: ${{ secrets.RN_DOGFOOD_ANDROID_KEYSTORE_BASE64 }} | |
| run: echo $DATA | base64 -d > ~/stream-video-calls-rn.keystore | |
| shell: bash | |
| - name: Build | |
| working-directory: sample-apps/react-native/dogfood | |
| run: bundle exec fastlane build_android_play_store | |
| - name: Upload .apk | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: apk | |
| path: '**/dist/*.apk' | |
| - name: Upload .aab | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: aab | |
| path: '**/dist/*.aab' | |
| deploy_android: | |
| name: Deploy Android | |
| needs: build_android | |
| timeout-minutes: 60 | |
| if: ${{ github.ref == 'refs/heads/main' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/rn-bootstrap | |
| timeout-minutes: 15 | |
| - name: Download .aab | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: aab | |
| - name: Create Google Service Account for Play Store Deployment | |
| env: | |
| DATA: ${{ secrets.RN_DOGFOOD_ANDROID_DEPLOY_SERVICE_ACCOUNT_BASE64 }} | |
| run: echo $DATA | base64 --decode | jq > ~/service-account.json | |
| shell: bash | |
| - name: Deploy | |
| working-directory: sample-apps/react-native/dogfood | |
| run: bundle exec fastlane deploy_android_play_store |