-
Notifications
You must be signed in to change notification settings - Fork 41
145 lines (115 loc) · 5.33 KB
/
main.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
name: CI
on: push
env:
flutter-version: '3.x'
jobs:
analyze:
name: Analyze Flutter packages
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Install Flutter
uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: ${{ env.flutter-version }}
channel: stable
cache: true
- name: Add example/.env
working-directory: auth0_flutter
run: cp example/.env.example example/.env
- name: Analize auth0_flutter package
working-directory: auth0_flutter
run: flutter analyze
- name: Analize auth0_flutter_platform_interface package
working-directory: auth0_flutter_platform_interface
run: flutter analyze
- name: Cancel wokflow on failure
uses: andymckay/cancel-action@b9280e3f8986d7a8e91c7462efc0fa318010c8b1
if: ${{ failure() }}
test-flutter:
name: Test Flutter packages
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Install Flutter
uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: ${{ env.flutter-version }}
channel: stable
cache: true
- name: Add example/.env
working-directory: auth0_flutter
run: cp example/.env.example example/.env
- name: Test auth0_flutter package
working-directory: auth0_flutter
run: |
flutter test --tags browser --platform chrome
flutter test --coverage --exclude-tags browser
- name: Test auth0_flutter_platform_interface package
working-directory: auth0_flutter_platform_interface
run: flutter test --coverage
- name: Upload coverage report for auth0_flutter
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d
with:
name: Auth0 Flutter
flags: auth0_flutter
files: ./auth0_flutter/coverage/lcov.info
- name: Upload coverage report for auth0_flutter_platform_interface
uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d
with:
name: Auth0 Flutter
flags: auth0_flutter_platform_interface
files: ./auth0_flutter_platform_interface/coverage/lcov.info
- name: Cancel wokflow on failure
uses: andymckay/cancel-action@b9280e3f8986d7a8e91c7462efc0fa318010c8b1
if: ${{ failure() }}
test-ios:
name: Test iOS native code
runs-on: macos-latest
env:
xcode: '14.2'
simulator: iPhone 14
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- name: Install Flutter
uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: ${{ env.flutter-version }}
channel: stable
cache: true
- name: Install Flutter dependencies
working-directory: auth0_flutter/example
run: flutter pub get
- name: Set Ruby version
working-directory: auth0_flutter/example/ios
run: ruby -e 'puts RUBY_VERSION' | tee .ruby-version
shell: bash
- name: Set up Ruby
uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939
with:
bundler-cache: true
cache-version: 1
working-directory: auth0_flutter/example/ios
- name: Setup Xcode
uses: mxcl/xcodebuild@6e60022a0cbe8c89278be2dd1773a2f68e7c5c87
with:
xcode: ${{ env.xcode }}
action: none
- name: Install pods
working-directory: auth0_flutter/example/ios
run: pod install
- name: Set .env
working-directory: auth0_flutter/example/ios
run: printf '%s\n%s\n%s' "AUTH0_DOMAIN=$AUTH0_DOMAIN" "AUTH0_CLIENT_ID=$AUTH0_CLIENT_ID" 'AUTH0_CUSTOM_SCHEME=demo' >> ../.env
- name: Run iOS unit tests
working-directory: auth0_flutter/example/ios
run: xcodebuild test -scheme Runner -workspace Runner.workspace -destination ${{ join('platform=iOS Simulator,name=', env.simulator) }} -skip-testing:RunnerUITests | xcpretty
- name: Run iOS smoke tests
working-directory: auth0_flutter/example/ios
run: xcodebuild test -scheme Runner -workspace Runner.workspace -destination ${{ join('platform=iOS Simulator,name=', env.simulator) }} -only-testing:RunnerUITests | xcpretty
- name: Cancel wokflow on failure
uses: andymckay/cancel-action@b9280e3f8986d7a8e91c7462efc0fa318010c8b1
if: ${{ failure() }}