1
- os :
2
- - linux
3
- sudo : false
4
- addons :
5
- apt :
6
- sources :
7
- - ubuntu-toolchain-r-test
8
- packages :
9
- - libstdc++6
10
- - fonts-noto
11
- git :
12
- depth : 3
13
1
env :
14
- - FLUTTER_VERSION=stable
15
- - FLUTTER_VERSION=beta
16
- matrix :
17
- allow_failures :
18
- - env : FLUTTER_VERSION=beta
19
- before_script :
20
- - git clone https://github.com/flutter/flutter.git -b $FLUTTER_VERSION
21
- - ./flutter/bin/flutter doctor
22
- script :
23
- - ./flutter/bin/flutter test
24
- cache :
25
- directories :
26
- - $HOME/.pub-cache
2
+ global :
3
+ # Android
4
+ - API=28
5
+ - ABI=x86_64
6
+ - G_SERVICES=default
7
+ - ANDROID_TOOLS=4333796 # android-28
8
+ # Flutter
9
+ - FLUTTER_CHANNEL=stable
10
+ - FLUTTER_VERSION=1.9.1+hotfix.6-${FLUTTER_CHANNEL}
11
+ # Path
12
+ - ANDROID_HOME=${HOME}/android-sdk-linux
13
+ - TOOLS=${ANDROID_HOME}/tools
14
+ - PATH=${ANDROID_HOME}:${ANDROID_HOME}/emulator:${TOOLS}:${TOOLS}/bin:${ANDROID_HOME}/platform-tools:${PATH}
15
+ - JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
16
+ - PATH="$JAVA_HOME/bin:$PATH"
17
+ - FLUTTER_HOME=${HOME}/flutter
18
+ - PATH=${HOME}/.pub-cache/bin:${PATH}
19
+ - PATH=${FLUTTER_HOME}/bin:${FLUTTER_HOME}/bin/cache/dart-sdk/bin:${PATH}
20
+
21
+ jobs :
22
+ include :
23
+ - stage : iOS Tests
24
+ os : osx
25
+ language : objective-c
26
+ osx_image : xcode11
27
+ git :
28
+ depth : 3
29
+ before_script :
30
+ - open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
31
+ # - brew update
32
+ - brew install libimobiledevice
33
+ - brew install ideviceinstaller
34
+ - brew install ios-deploy
35
+ - sudo gem install cocoapods
36
+ # - git clone https://github.com/flutter/flutter.git -b beta
37
+ - export PATH="$PATH":"$HOME/.pub-cache/bin"
38
+ - export PATH=`pwd`/flutter/bin:`pwd`/flutter/bin/cache/dart-sdk/bin:$PATH
39
+ # - flutter precache
40
+ # - flutter doctor -v
41
+ # - flutter devices
42
+ # - flutter packages get
43
+
44
+ - if [ ! -f $HOME/flutter/bin/flutter ] ; then
45
+ git clone https://github.com/flutter/flutter.git $FLUTTER_HOME -b beta;
46
+ flutter pub get;
47
+ fi
48
+
49
+
50
+ # - flutter packages pub run build_runner build --delete-conflicting-outputs
51
+ - cd example
52
+ script :
53
+ - ./test_driver/run_tests.sh iPhone X
54
+ cache :
55
+ directories :
56
+ - $HOME/.pub-cache
57
+ - flutter
58
+ branches :
59
+ only :
60
+ - bodnar/19570/tests
61
+
62
+
63
+ - stage : Android Tests
64
+ os : linux
65
+ dist : bionic
66
+ language : shell
67
+ git :
68
+ depth : 3
69
+
70
+
71
+
72
+ cache :
73
+ directories :
74
+ - $HOME/.gradle/caches/
75
+ - $HOME/.gradle/wrapper/
76
+ - $HOME/.pub-cache
77
+ - flutter
78
+
79
+ branches :
80
+ only :
81
+ - bodnar/19570/tests
82
+
83
+ before_cache :
84
+ - rm -rf $HOME/.gradle/caches/[1-9]*
85
+ - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
86
+
87
+ addons :
88
+ apt :
89
+ packages :
90
+ - libvirt-bin
91
+ - bridge-utils
92
+ - openjdk-8-jdk-headless
93
+
94
+ install :
95
+ # Android tools
96
+ - curl -L "https://dl.google.com/android/repository/sdk-tools-linux-$ANDROID_TOOLS.zip" -o $HOME/tools.zip
97
+ - unzip -oq $HOME/tools.zip -d ${ANDROID_HOME}
98
+
99
+ # Accept licenses before installing components, no need to echo y for each component
100
+ - yes | sdkmanager --licenses
101
+
102
+ # Download SDK tools
103
+ - sdkmanager "tools" >/dev/null
104
+ - sdkmanager "platform-tools" >/dev/null
105
+ - sdkmanager "emulator" >/dev/null
106
+ - sdkmanager "platforms;android-$API" >/dev/null # We need the API of the emulator we will run
107
+ - sdkmanager "system-images;android-$API;$G_SERVICES;$ABI" >/dev/null # install system images for emulator
108
+
109
+ - sudo adduser $USER libvirt
110
+
111
+ # Define emulator parameters
112
+ - EMU_PARAMS="
113
+ -avd test
114
+ -no-audio
115
+ -no-window
116
+ -no-accel
117
+ -gpu swiftshader_indirect
118
+ -no-boot-anim
119
+ -camera-back none
120
+ -camera-front none"
121
+
122
+ # Create and start emulator as early as possible
123
+ - adb start-server
124
+ - avdmanager create avd --force --name test --package "system-images;android-$API;$G_SERVICES;$ABI" --abi $ABI --device 'Nexus 4' --sdcard 128M
125
+ - $ANDROID_HOME/emulator/emulator ${EMU_PARAMS} &
126
+
127
+ # Install other required tools:
128
+ - sdkmanager "build-tools;28.0.3" >/dev/null # Implicit gradle dependency - gradle drives changes
129
+ - sdkmanager "platforms;android-28" >/dev/null # We need the API of the current compileSdkVersion from gradle.properties
130
+ - sdkmanager "extras;android;m2repository" >/dev/null
131
+
132
+ # Install flutter (while emulator is starting)
133
+ - sudo apt-get install -y --no-install-recommends lib32stdc++6 libstdc++6 > /dev/null
134
+ - if [ ! -f $HOME/flutter/bin/flutter ] ; then
135
+ git clone https://github.com/flutter/flutter.git $FLUTTER_HOME -b beta;
136
+ flutter pub get;
137
+ fi
138
+ # - wget --quiet --output-document=flutter.tar.xz https://storage.googleapis.com/flutter_infra/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_v${FLUTTER_VERSION}.tar.xz
139
+ # - tar xf flutter.tar.xz -C $(dirname ${FLUTTER_HOME})
140
+ # - rm flutter.tar.xz
141
+
142
+ # Download the script to wait for emulator
143
+ - curl -L https://raw.githubusercontent.com/travis-ci/travis-cookbooks/master/community-cookbooks/android-sdk/files/default/android-wait-for-emulator -o $HOME/bin/android-wait-for-emulator
144
+ - chmod +x $HOME/bin/android-wait-for-emulator
145
+ - chmod -R +x $FLUTTER_HOME
146
+
147
+ before_script :
148
+ # Wait for emulator to finish startup
149
+ - android-wait-for-emulator
150
+ # Unlock screen
151
+ - adb shell input keyevent 82 &
152
+
153
+ script :
154
+ - cd example
155
+ - ./test_driver/run_tests.sh emulator-5554
156
+
157
+
27
158
notifications :
28
159
email :
29
-
30
-
31
- branches :
32
- only : [develop]
160
+
0 commit comments