forked from mogol/flutter_secure_storage
-
Notifications
You must be signed in to change notification settings - Fork 1
143 lines (141 loc) · 4.37 KB
/
flutter_drive.yml
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
135
136
137
138
139
140
141
142
143
name: integration test
on:
push:
branches:
- main
pull_request:
defaults:
run:
shell: bash
env:
PUB_ENVIRONMENT: bot.github
jobs:
drive_android:
name: Android
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
matrix:
api-level: [23]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.24.x
cache: true
- uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "17"
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Install melos
run: |
flutter pub global activate melos
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo "$HOME/AppData/Local/Pub/Cache/bin" >> $GITHUB_PATH
- name: Initialize workspace through melos
run: melos bootstrap
- name: Run Flutter Integration tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
script: flutter test integration_test -d android
working-directory: flutter_secure_storage_x/example
drive_ios:
name: iOS
runs-on: macos-latest
timeout-minutes: 30
strategy:
matrix:
simulator: [ {os: "17.0", model: "iPhone 15"} ]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.24.x
cache: true
- name: Install melos
run: |
flutter pub global activate melos
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo "$HOME/AppData/Local/Pub/Cache/bin" >> $GITHUB_PATH
- name: Initialize workspace through melos
run: melos bootstrap
- uses: futureware-tech/simulator-action@v3
with:
os: iOS
os_version: ${{ matrix.simulator.os }}
model: ${{ matrix.simulator.model }}
- name: Run Flutter Integration tests
working-directory: flutter_secure_storage_x/example
run: flutter test integration_test -d iphone
drive_web_js:
name: Web (JS)
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.24.x
cache: true
- name: Install melos
run: |
flutter pub global activate melos
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo "$HOME/AppData/Local/Pub/Cache/bin" >> $GITHUB_PATH
- name: Initialize workspace through melos
run: melos bootstrap
- uses: nanasess/setup-chromedriver@v2
- name: Setup chromedriver
run: |
chromedriver --port=4444
- name: Run Flutter Integration tests
working-directory: flutter_secure_storage_x/example
run: flutter drive \
--driver=test_driver/integration_test.dart \
--target=integration_test/app_test.dart \
-d chrome
drive_web:
name: Web (WASM)
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
matrix:
option: [ "", "--wasm" ]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.24.x
cache: true
- name: Install melos
run: |
flutter pub global activate melos
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
echo "$HOME/AppData/Local/Pub/Cache/bin" >> $GITHUB_PATH
- name: Initialize workspace through melos
run: melos bootstrap
- name: Setup chromedriver
run: |
npx @puppeteer/browsers install chromedriver@stable
chromedriver --port=4444 &
- name: Run Flutter Integration tests
working-directory: flutter_secure_storage_x/example
run: flutter drive \
--driver=test_driver/integration_test.dart \
--target=integration_test/app_test.dart \
${{ matrix.option }} \
-d chrome