Skip to content

chore: enable edge to edge on android #5241

chore: enable edge to edge on android

chore: enable edge to edge on android #5241

Workflow file for this run

name: Build PR
permissions:
contents: read
pull-requests: write
on:
pull_request:
branches:
- '**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
run-eslint-and-test:
name: ESLint and Test
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
uses: ./.github/workflows/eslint.yml
generate-pr-changelog:
name: Generate PR Changelog
needs: [run-eslint-and-test]
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Generate changelog
env:
GH_TOKEN: ${{ github.token }}
run: |
gh pr view "${{ github.event.pull_request.number }}" --json title,number,commits > pr.json
node .github/scripts/changelog.js pr
- name: Upload changelog artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: release-changelog
path: changelog.txt
retention-days: 15
android-build-store:
name: Build Android
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
uses: ./.github/workflows/build-android.yml
needs: [run-eslint-and-test, generate-pr-changelog]
secrets: inherit
with:
trigger: "pr"
ios-build-store:
name: Build iOS
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
uses: ./.github/workflows/build-ios.yml
needs: [run-eslint-and-test, generate-pr-changelog]
secrets: inherit
with:
trigger: "pr"
e2e-hold:
name: E2E Hold
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
environment: approve_e2e_testing
runs-on: ubuntu-latest
steps:
- run: echo "Waiting for manual approval..."
e2e-build-android:
name: E2E Build Android
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
uses: ./.github/workflows/e2e-build-android.yml
needs: [e2e-hold]
secrets: inherit
# Validates flow tags and emits the shard list both matrices fan out over.
e2e-shards:
name: E2E Shard Preflight
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
needs: [e2e-hold]
runs-on: ubuntu-latest
outputs:
shards: ${{ steps.shards.outputs.shards }}
steps:
- name: Checkout Repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Assert Maestro shard coverage
id: shards
run: bash .github/scripts/assert-maestro-shards.sh
e2e-run-android:
name: E2E Run Android
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
uses: ./.github/workflows/maestro-android.yml
needs: [e2e-build-android, e2e-shards]
secrets: inherit
strategy:
matrix:
shard: ${{ fromJSON(needs.e2e-shards.outputs.shards) }}
fail-fast: false
with:
shard: ${{ matrix.shard }}
e2e-build-ios:
name: E2E Build iOS
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
uses: ./.github/workflows/e2e-build-ios.yml
needs: [e2e-hold]
secrets: inherit
e2e-run-ios:
name: E2E Run iOS
if: ${{ github.repository == 'RocketChat/Rocket.Chat.ReactNative' }}
uses: ./.github/workflows/maestro-ios.yml
needs: [e2e-build-ios, e2e-shards]
secrets: inherit
strategy:
matrix:
shard: ${{ fromJSON(needs.e2e-shards.outputs.shards) }}
fail-fast: false
with:
shard: ${{ matrix.shard }}