Skip to content
Merged
8 changes: 7 additions & 1 deletion .github/workflows/android.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,22 @@ on:
- '**/flutterfire_ui/**'
- '**.md'
workflow_call:
inputs:
nightly_test_mode:
type: boolean
default: false

jobs:
android:
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: ${{ inputs.nightly_test_mode && 5 || 45 }}
strategy:
fail-fast: false
matrix:
working_directory:
['tests', 'packages/cloud_firestore/cloud_firestore/example']
exclude:
- working_directory: ${{ inputs.nightly_test_mode && 'packages/cloud_firestore/cloud_firestore/example' || 'none' }}
env:
AVD_ARCH: x86_64
AVD_API_LEVEL: 34
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/e2e_tests_fdc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,18 @@ on:
- '**/example/**'
- '**.md'
workflow_call:
inputs:
nightly_test_mode:
type: boolean
default: false

permissions:
contents: read

jobs:
android:
runs-on: ubuntu-latest
timeout-minutes: 45
timeout-minutes: ${{ inputs.nightly_test_mode && 5 || 45 }}
strategy:
fail-fast: false
env:
Expand Down Expand Up @@ -140,7 +144,7 @@ jobs:

ios:
runs-on: macos-15
timeout-minutes: 45
timeout-minutes: ${{ inputs.nightly_test_mode && 5 || 45 }}
strategy:
fail-fast: false
steps:
Expand Down Expand Up @@ -261,7 +265,7 @@ jobs:

web:
runs-on: macos-latest
timeout-minutes: 15
timeout-minutes: ${{ inputs.nightly_test_mode && 5 || 15 }}
strategy:
fail-fast: false
steps:
Expand Down Expand Up @@ -340,7 +344,7 @@ jobs:

web-wasm:
runs-on: macos-latest
timeout-minutes: 15
timeout-minutes: ${{ inputs.nightly_test_mode && 5 || 15 }}
strategy:
fail-fast: false
steps:
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/ios.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,22 @@ on:
- '**/flutterfire_ui/**'
- '**.md'
workflow_call:
inputs:
nightly_test_mode:
type: boolean
default: false

jobs:
ios:
runs-on: macos-15
timeout-minutes: 60
timeout-minutes: ${{ inputs.nightly_test_mode && 5 || 60 }}
strategy:
fail-fast: false
matrix:
working_directory:
['tests', 'packages/cloud_firestore/cloud_firestore/example']
exclude:
- working_directory: ${{ inputs.nightly_test_mode && 'packages/cloud_firestore/cloud_firestore/example' || 'none' }}
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,22 @@ on:
- '**/flutterfire_ui/**'
- '**.md'
workflow_call:
inputs:
nightly_test_mode:
type: boolean
default: false

jobs:
macos:
runs-on: macos-15
timeout-minutes: 45
timeout-minutes: ${{ inputs.nightly_test_mode && 5 || 45 }}
strategy:
fail-fast: false
matrix:
working_directory:
['tests', 'packages/cloud_firestore/cloud_firestore/example']
exclude:
- working_directory: ${{ inputs.nightly_test_mode && 'packages/cloud_firestore/cloud_firestore/example' || 'none' }}
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
Expand Down
56 changes: 50 additions & 6 deletions .github/workflows/nightly.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
name: nightly-ci
run-name: ${{ github.event.inputs.test_mode == 'true' && format('[Test Mode] {0}', github.workflow) || github.workflow }}

# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false

on:
# schedule:
# - cron: '0 4 * * *'
workflow_dispatch:
schedule:
- cron: '0 4 * * *'
# The dispatch is only for test purpose
# workflow_dispatch:
# inputs:
# test_mode:
# description: 'Run in test mode'
# type: boolean
# default: false

permissions:
contents: read
Expand All @@ -16,22 +23,59 @@ permissions:
jobs:
e2e-android:
uses: ./.github/workflows/android.yaml
with:
nightly_test_mode: ${{ github.event.inputs.test_mode == 'true' }}
secrets: inherit
e2e-ios:
uses: ./.github/workflows/ios.yaml
with:
nightly_test_mode: ${{ github.event.inputs.test_mode == 'true' }}
secrets: inherit
e2e-macos:
uses: ./.github/workflows/macos.yaml
with:
nightly_test_mode: ${{ github.event.inputs.test_mode == 'true' }}
secrets: inherit
e2e-web:
uses: ./.github/workflows/web.yaml
with:
nightly_test_mode: ${{ github.event.inputs.test_mode == 'true' }}
secrets: inherit
e2e-windows:
uses: ./.github/workflows/windows.yaml
with:
nightly_test_mode: ${{ github.event.inputs.test_mode == 'true' }}
secrets: inherit
e2e-fdc:
uses: ./.github/workflows/e2e_tests_fdc.yaml
with:
nightly_test_mode: ${{ github.event.inputs.test_mode == 'true' }}
secrets: inherit
e2e-pipeline:
uses: ./.github/workflows/e2e_tests_pipeline.yaml
if: ${{ github.event.inputs.test_mode != 'true' }}
secrets: inherit

update-dashboard:
runs-on: ubuntu-latest
if: ${{ always() && !cancelled() }}
needs: [e2e-android, e2e-ios, e2e-macos, e2e-web, e2e-windows, e2e-fdc, e2e-pipeline]
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
- uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff
with:
channel: 'stable'
- name: Update Dashboard Issue
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TEST_MODE: ${{ github.event.inputs.test_mode == 'true' }}
ANDROID_STATUS: ${{ needs.e2e-android.result }}
IOS_STATUS: ${{ needs.e2e-ios.result }}
MACOS_STATUS: ${{ needs.e2e-macos.result }}
WEB_STATUS: ${{ needs.e2e-web.result }}
WINDOWS_STATUS: ${{ needs.e2e-windows.result }}
FDC_STATUS: ${{ needs.e2e-fdc.result }}
PIPELINE_STATUS: ${{ needs.e2e-pipeline.result }}
REPO: ${{ github.repository }}
run: |
dart .github/workflows/scripts/nightly_issue_dashboard.dart
Loading
Loading