-
Notifications
You must be signed in to change notification settings - Fork 3
157 lines (149 loc) · 4.98 KB
/
tests.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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
name: Tests
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
jobs:
pub_dev_check:
name: pub.dev check
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- name: Check Dart Format
run: |
if ! dart format --output=none --set-exit-if-changed .; then
echo "The code style of files above are incorrect."
echo "Make sure you follow the dart code style (https://github.com/dart-lang/dart_style)."
exit 1
fi
- uses: axel-op/dart-package-analyzer@v3
id: analysis
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
- name: Check scores
env:
TOTAL: ${{ steps.analysis.outputs.total }}
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
run: |
if [ $TOTAL_MAX -ne $TOTAL ]; then
echo "Pub Score too low."
exit 1
fi
flutter_ut:
name: Flutter unit test
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- run: flutter test
android_smoke_build:
name: Smoke build for Android
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
version: ["3.10.0", "3.x"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
- run: flutter pub get -v
- name: Run flutter build apk
run: flutter build apk
working-directory: example
ios_smoke_build:
name: Smoke build for iOS
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
version: ["3.10.0", "3.x"]
runs-on: macos-12
timeout-minutes: 120
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
cache: true
- run: flutter pub get -v
- name: Run flutter build ios --no-codesign
run: flutter build ios --no-codesign
working-directory: example
check_android15_16k_page_alignment:
name: Check android15 16k page size alignment
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
version: ['3.x']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
cache: true
- run: flutter pub get
- name: Run flutter build apk
run: flutter build apk
working-directory: example
- name: Check android15 16k page size alignment
run: bash scripts/check_android15_16k_page_alignment.sh example/build/app/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libglance.so
# integration_test_android:
# name: Run Flutter Android Integration Tests
# if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
# strategy:
# matrix:
# # version: ["3.0.0", "3.x"]
# version: ["3.x"]
# runs-on: macos-14
# timeout-minutes: 120
# steps:
# - uses: actions/checkout@v3
# - name: Install JDK
# uses: actions/setup-java@v4
# with:
# distribution: 'zulu'
# java-version: '21'
# - uses: subosito/flutter-action@v2
# with:
# flutter-version: ${{ matrix.version }}
# - name: Export the llvm path
# run: |
# # Export the llvm path
# # https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
# BREW_PREFIX=$(brew --prefix llvm@15)
# export PATH="${BREW_PREFIX}/bin:$PATH"
# which llvm-symbolizer
# - run: bash scripts/write_entitlements.sh
# - name: run flutter android integration tests
# uses: reactivecircus/android-emulator-runner@v2
# with:
# api-level: 31
# arch: arm64-v8a
# force-avd-creation: false
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
# disable-animations: true
# profile: pixel_5
# ram-size: 2048M
# heap-size: 4096M
# disk-size: 8192M
# script: bash scripts/glance_integration_test.sh