Repository navigation
134 lines (125 loc) · 5.1 KB
/
Copy pathe2e_tests_remote_config.yaml
File metadata and controls
134 lines (125 loc) · 5.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: e2e-remote-config
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-remote_config
cancel-in-progress: true
# Live tier: this product has no emulator, so every job talks to the real
# `flutterfire-e2e-tests` project using the config in repository secrets.
# Fork and dependabot PRs do not get those secrets, so the reusable workflow
# guards every job.
#
# Thin caller: one job per platform this product supports, each delegating
# to the matching `reusable_e2e_<platform>.yaml`. Platforms the product does
# not support have no job here, so they render no check at all.
# Path-filtered so it only runs when this product or its dependencies change;
# the nightly workflow_call still runs it unconditionally.
on:
pull_request:
paths:
- 'packages/firebase_remote_config/**'
- 'packages/firebase_core/**'
- '.github/workflows/e2e_tests_remote_config.yaml'
- '.github/workflows/reusable_e2e_*.yaml'
- '.github/actions/setup-flutterfire/**'
- '.github/workflows/scripts/**'
push:
branches:
- main
paths:
- 'packages/firebase_remote_config/**'
- 'packages/firebase_core/**'
- '.github/workflows/e2e_tests_remote_config.yaml'
- '.github/workflows/reusable_e2e_*.yaml'
- '.github/actions/setup-flutterfire/**'
- '.github/workflows/scripts/**'
workflow_call:
inputs:
nightly_test_mode:
type: boolean
default: false
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART:
required: true
TESTS_E2E_GOOGLE_SERVICES_JSON:
required: true
permissions:
contents: read
jobs:
changes:
uses: ./.github/workflows/reusable_e2e_changes.yaml
with:
package-path: 'packages/firebase_remote_config/firebase_remote_config'
platform-interface-package: 'firebase_remote_config_platform_interface'
web-package: 'firebase_remote_config_web'
inject-config-secrets: true
android:
needs: changes
if: needs.changes.outputs.android == 'true'
uses: ./.github/workflows/reusable_e2e_android.yaml
with:
package-path: 'packages/firebase_remote_config/firebase_remote_config'
package-scope: 'firebase_remote_config*'
native-config-args: '--live-tier-plist=remote_config'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}
ios:
needs: changes
if: needs.changes.outputs.ios == 'true'
uses: ./.github/workflows/reusable_e2e_ios.yaml
with:
package-path: 'packages/firebase_remote_config/firebase_remote_config'
package-scope: 'firebase_remote_config*'
cache-key-suffix: 'remote_config'
native-config-args: '--live-tier-plist=remote_config'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}
macos:
needs: changes
if: needs.changes.outputs.macos == 'true'
uses: ./.github/workflows/reusable_e2e_macos.yaml
with:
package-path: 'packages/firebase_remote_config/firebase_remote_config'
package-scope: 'firebase_remote_config*'
cache-key-suffix: 'remote_config'
native-config-args: '--live-tier-plist=remote_config'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}
web:
needs: changes
if: needs.changes.outputs.web == 'true'
uses: ./.github/workflows/reusable_e2e_web.yaml
with:
package-path: 'packages/firebase_remote_config/firebase_remote_config'
package-scope: 'firebase_remote_config*'
native-config-args: '--live-tier-plist=remote_config'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}
windows:
needs: changes
if: needs.changes.outputs.windows == 'true'
uses: ./.github/workflows/reusable_e2e_windows.yaml
with:
package-path: 'packages/firebase_remote_config/firebase_remote_config'
package-scope: 'firebase_remote_config*'
native-config-args: '--live-tier-plist=remote_config'
inject-config-secrets: true
use-firebase-emulators: false
nightly_test_mode: ${{ inputs.nightly_test_mode == true }}
secrets:
TESTS_E2E_FIREBASE_OPTIONS_DART: ${{ secrets.TESTS_E2E_FIREBASE_OPTIONS_DART }}
TESTS_E2E_GOOGLE_SERVICES_JSON: ${{ secrets.TESTS_E2E_GOOGLE_SERVICES_JSON }}