@@ -4,139 +4,200 @@ on: [push]
4
4
5
5
jobs :
6
6
7
- build-linux :
8
- runs-on : ubuntu-16.04
9
-
7
+ build :
8
+
9
+ strategy :
10
+ matrix :
11
+ haxe-version : [3.4.7, 4.0.5, 4.1.1]
12
+ os : [ubuntu-16.04, macos-latest, windows-latest]
13
+
14
+ runs-on : ${{ matrix.os }}
15
+
10
16
steps :
11
- - uses : actions/checkout@v1
17
+ - uses : actions/checkout@v2
12
18
with :
13
19
submodules : true
14
-
15
- - name : Setup environment
16
- run : |
17
- sudo apt-get install -y haxe libgl1-mesa-dev libglu1-mesa-dev g++ g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev
18
- #sudo apt-get install -y build-essential git curl python
19
- #curl -O https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
20
- #sudo pip install awscli awsebcli
21
-
22
- - name : Install dependencies
23
- run : |
24
- mkdir $GITHUB_WORKSPACE/.haxelib
25
- haxelib setup $GITHUB_WORKSPACE/.haxelib
26
- haxelib install hxcpp > /dev/null
27
- git clone https://github.com/jgranick/format $GITHUB_WORKSPACE/format --depth 1
28
- haxelib dev format $GITHUB_WORKSPACE/format
29
- haxelib install mcover > /dev/null
30
- haxelib install hamcrest > /dev/null
31
- git clone https://github.com/openfl/munit $GITHUB_WORKSPACE/munit --depth 1
32
- haxelib dev munit $GITHUB_WORKSPACE/munit/src
33
- cd $GITHUB_WORKSPACE/munit/tool && haxe build.hxml
34
- haxelib install format > /dev/null
35
- haxelib install hxp > /dev/null
36
-
37
- - name : Install "lime" command alias
20
+ - uses : haxeui/haxeui-core/.github/actions/haxe@master
21
+ with :
22
+ haxe-version : ${{ matrix.haxe-version }}
23
+ - uses : actions/setup-java@v1
24
+ with :
25
+ java-version : 8
26
+
27
+ - name : Install Haxelib dependencies
38
28
run : |
39
- haxelib dev lime $GITHUB_WORKSPACE
40
- haxelib run lime setup -alias -y
41
-
42
- - name : Rebuild Lime tools
29
+ haxelib install hxcpp 4.0.64 --quiet
30
+ haxelib install format --quiet
31
+ haxelib install hxp --quiet
32
+ haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
33
+
34
+ - name : Set ANDROID_NDK_ROOT (Linux and macOS)
35
+ if : ${{ !startsWith(matrix.os, 'windows-') }}
36
+ run : echo "::set-env name=ANDROID_NDK_ROOT::/opt/android-ndk-r15c"
37
+
38
+ - name : Set ANDROID_NDK_ROOT (Windows)
39
+ if : ${{ startsWith(matrix.os, 'windows-') }}
40
+ run : echo "::set-env name=ANDROID_NDK_ROOT::C:\android-ndk-r15c"
41
+
42
+ - name : Install Linux dependencies
43
+ if : ${{ startsWith(matrix.os, 'ubuntu-') }}
44
+ run : sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev
45
+
46
+ - name : Install Android NDK (Linux)
47
+ if : ${{ startsWith(matrix.os, 'ubuntu-') }}
43
48
run : |
44
- lime rebuild hxcpp linux -static
45
- lime rebuild tools -nocolor -verbose
46
-
47
- - name : Rebuild Lime binaries
49
+ mkdir $ANDROID_NDK_ROOT
50
+ wget -O android-ndk.zip --quiet https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip
51
+ unzip -qq android-ndk.zip -d $ANDROID_NDK_ROOT/..
52
+ rm android-ndk.zip
53
+
54
+ - name : Install Android NDK r15c (macOS)
55
+ if : ${{ startsWith(matrix.os, 'macos-') }}
48
56
run : |
49
- lime rebuild linux -64 -release -verbose -nocolor
50
- lime rebuild linux -32 -release -verbose -nocolor
51
- #lime rebuild android -release -verbose -nocolor
52
- lime rebuild hl -64 -release -verbose -nocolor
53
-
54
- build-macos :
55
- runs-on : macOS-10.14
56
- # env:
57
- # MACOSX_VER: 10.13
58
- # MACOSX_DEPLOYMENT_TARGET: 10.9
59
-
60
- steps :
61
- - uses : actions/checkout@v1
62
- with :
63
- submodules : true
64
-
65
- - name : Setup environment
66
- run : |
67
- brew install haxe
68
-
69
- - name : Install dependencies
70
- run : |
71
- mkdir $GITHUB_WORKSPACE/.haxelib
72
- haxelib setup $GITHUB_WORKSPACE/.haxelib
73
- haxelib install hxcpp > /dev/null
74
- git clone https://github.com/jgranick/format $GITHUB_WORKSPACE/format --depth 1
75
- haxelib dev format $GITHUB_WORKSPACE/format
76
- haxelib install mcover > /dev/null
77
- haxelib install hamcrest > /dev/null
78
- git clone https://github.com/openfl/munit $GITHUB_WORKSPACE/munit --depth 1
79
- haxelib dev munit $GITHUB_WORKSPACE/munit/src
80
- cd $GITHUB_WORKSPACE/munit/tool && haxe build.hxml
81
- haxelib install format > /dev/null
82
- haxelib install hxp > /dev/null
83
-
84
- - name : Install "lime" command alias
57
+ mkdir $ANDROID_NDK_ROOT
58
+ wget -O android-ndk.zip --quiet https://dl.google.com/android/repository/android-ndk-r15c-darwin-x86_64.zip
59
+ unzip -qq android-ndk.zip -d $ANDROID_NDK_ROOT/..
60
+ rm android-ndk.zip
61
+
62
+ - name : Install Android NDK r15c (Windows)
63
+ if : ${{ startsWith(matrix.os, 'windows-') }}
64
+ run : |
65
+ mkdir $Env:ANDROID_NDK_ROOT
66
+ Invoke-WebRequest https://dl.google.com/android/repository/android-ndk-r15c-windows-x86_64.zip -OutFile android-ndk.zip
67
+ Expand-Archive android-ndk.zip -DestinationPath $Env:ANDROID_NDK_ROOT/..
68
+ rm android-ndk.zip
69
+
70
+ - name : Install "lime" command alias (Linux and macOS)
71
+ if : ${{ !startsWith(matrix.os, 'windows-') }}
85
72
run : |
86
73
haxelib dev lime $GITHUB_WORKSPACE
87
74
haxelib run lime setup -alias -y
88
-
89
- - name : Rebuild Lime tools
75
+
76
+ - name : Install "lime" command alias (Windows)
77
+ if : ${{ startsWith(matrix.os, 'windows-') }}
78
+ run : |
79
+ haxelib dev lime $Env:GITHUB_WORKSPACE
80
+ haxelib run lime setup -alias -y
81
+
82
+ - name : Configure Lime for Android (Linux and macOS)
83
+ if : ${{ !startsWith(matrix.os, 'windows-') }}
84
+ run : |
85
+ lime config ANDROID_SDK $ANDROID_HOME
86
+ haxelib run lime config ANDROID_NDK_ROOT $ANDROID_NDK_ROOT
87
+ haxelib run lime config JAVA_HOME $JAVA_HOME
88
+ haxelib run lime config ANDROID_SETUP true
89
+ haxelib run lime config
90
+
91
+ - name : Configure Lime for Android (Windows)
92
+ if : ${{ startsWith(matrix.os, 'windows-') }}
93
+ run : |
94
+ lime config ANDROID_SDK $Env:ANDROID_HOME
95
+ haxelib run lime config ANDROID_NDK_ROOT $Env:ANDROID_NDK_ROOT
96
+ haxelib run lime config JAVA_HOME $Env:JAVA_HOME
97
+ haxelib run lime config ANDROID_SETUP true
98
+ haxelib run lime config
99
+
100
+ - name : Rebuild Lime Tools
90
101
run : |
91
102
lime rebuild tools -nocolor -verbose
92
-
93
- - name : Rebuild Lime binaries
103
+
104
+ - name : Rebuild Lime (HashLink)
94
105
run : |
95
- #lime rebuild mac -release -verbose -nocolor -DMACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET
96
- #lime rebuild hl -release -verbose -nocolor -DMACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET
97
- lime rebuild mac -release -verbose -nocolor
98
106
lime rebuild hl -release -verbose -nocolor
107
+
108
+ - name : Rebuild Lime (Android)
109
+ run : |
110
+ lime rebuild android -release -verbose -nocolor
111
+
112
+ - name : Rebuild Lime (iOS)
113
+ if : ${{ startsWith(matrix.os, 'macos-') }}
114
+ run : |
99
115
lime rebuild ios -release -verbose -nocolor
100
116
101
- build-windows :
102
- runs-on : windows-latest
103
-
104
- steps :
105
- - uses : actions/checkout@v1
106
- with :
107
- submodules : true
108
-
109
- - name : Setup environment
110
- run : |
111
- choco install haxe
112
-
113
- - name : Install dependencies
114
- run : |
115
- haxelib install hxcpp
116
- git clone https://github.com/jgranick/format $GITHUB_WORKSPACE/format --depth 1
117
- haxelib dev format $GITHUB_WORKSPACE/format
118
- haxelib install mcover
119
- haxelib install hamcrest
120
- git clone https://github.com/openfl/munit $GITHUB_WORKSPACE/munit --depth 1
121
- haxelib dev munit $GITHUB_WORKSPACE/munit/src
122
- cd $GITHUB_WORKSPACE/munit/tool
123
- haxe build.hxml
124
- haxelib install format
125
- haxelib install hxp
126
-
127
- - name : Install "lime" command alias
117
+ - name : Rebuild Lime (Linux)
118
+ if : ${{ startsWith(matrix.os, 'ubuntu-') }}
128
119
run : |
129
- haxelib dev lime $GITHUB_WORKSPACE
130
- haxelib run lime setup -alias -y
131
-
132
- - name : Rebuild Lime tools
120
+ lime rebuild linux -64 -release -verbose -nocolor
121
+ lime rebuild linux -32 -release -verbose -nocolor
122
+
123
+ - name : Rebuild Lime (macOS)
124
+ if : ${{ startsWith(matrix.os, 'macos-') }}
133
125
run : |
134
- lime rebuild tools -nocolor -verbose
135
-
136
- - name : Rebuild Lime binaries
126
+ lime rebuild mac -release -verbose -nocolor
127
+
128
+ - name : Rebuild Lime (Windows)
129
+ if : ${{ startsWith(matrix.os, 'windows-') }}
137
130
run : |
138
- REM set HXCPP_MSVC=%env.VS100COMNTOOLS%
139
131
lime rebuild windows -32 -release -verbose -nocolor
140
- lime rebuild hl -32 -release -verbose -nocolor
141
- REM set HXCPP_MSVC=
142
132
lime rebuild windows -64 -release -verbose -nocolor
133
+
134
+ - name : Create Lime Samples
135
+ run : |
136
+ lime create HelloWorld -verbose -nocolor
137
+ lime create SimpleImage -verbose -nocolor
138
+ lime create SimpleAudio -verbose -nocolor
139
+
140
+ - name : Build Lime Samples (html5)
141
+ run : |
142
+ lime build HelloWorld html5 -release -verbose -nocolor
143
+ lime build HelloWorld html5 -Dcanvas -release -verbose -nocolor
144
+ lime build HelloWorld html5 -Ddom -release -verbose -nocolor
145
+ lime build SimpleImage html5 -release -verbose -nocolor
146
+ lime build SimpleImage html5 -Dcanvas -release -verbose -nocolor
147
+ lime build SimpleImage html5 -Ddom -release -verbose -nocolor
148
+ lime build SimpleAudio html5 -release -verbose -nocolor
149
+ lime build SimpleAudio html5 -Dcanvas -release -verbose -nocolor
150
+ lime build SimpleAudio html5 -Ddom -release -verbose -nocolor
151
+
152
+ - name : Build Lime Samples (flash)
153
+ run : |
154
+ lime build HelloWorld flash -release -verbose -nocolor
155
+ lime build SimpleImage flash -release -verbose -nocolor
156
+ lime build SimpleAudio flash -release -verbose -nocolor
157
+
158
+ - name : Build Lime Samples (neko)
159
+ run : |
160
+ lime build HelloWorld neko -release -verbose -nocolor
161
+ lime build SimpleImage neko -release -verbose -nocolor
162
+ lime build SimpleAudio neko -release -verbose -nocolor
163
+
164
+ - name : Build Lime Samples (hl)
165
+ if : ${{ !startsWith(matrix.haxe-version, '3.') }}
166
+ run : |
167
+ lime build HelloWorld hl -release -verbose -nocolor
168
+ lime build SimpleImage hl -release -verbose -nocolor
169
+ lime build SimpleAudio hl -release -verbose -nocolor
170
+
171
+ - name : Build Lime Samples (android)
172
+ run : |
173
+ lime build HelloWorld android -release -verbose -nocolor
174
+ lime build SimpleImage android -release -verbose -nocolor
175
+ lime build SimpleAudio android -release -verbose -nocolor
176
+
177
+ - name : Build Lime Samples (linux)
178
+ if : ${{ startsWith(matrix.os, 'ubuntu-') }}
179
+ run : |
180
+ lime build HelloWorld linux -release -verbose -nocolor
181
+ lime build SimpleImage linux -release -verbose -nocolor
182
+ lime build SimpleAudio linux -release -verbose -nocolor
183
+
184
+ - name : Build Lime Samples (mac)
185
+ if : ${{ startsWith(matrix.os, 'macos-') }}
186
+ run : |
187
+ lime build HelloWorld mac -release -verbose -nocolor
188
+ lime build SimpleImage mac -release -verbose -nocolor
189
+ lime build SimpleAudio mac -release -verbose -nocolor
190
+
191
+ - name : Build Lime Samples (ios)
192
+ if : ${{ startsWith(matrix.os, 'macos-') }}
193
+ run : |
194
+ lime build HelloWorld ios -simulator -release -verbose -nocolor
195
+ lime build SimpleImage ios -simulator -release -verbose -nocolor
196
+ lime build SimpleAudio ios -simulator -release -verbose -nocolor
197
+
198
+ - name : Build Lime Samples (windows)
199
+ if : ${{ startsWith(matrix.os, 'windows-') }}
200
+ run : |
201
+ lime build HelloWorld windows -release -verbose -nocolor
202
+ lime build SimpleImage windows -release -verbose -nocolor
203
+ lime build SimpleAudio windows -release -verbose -nocolor
0 commit comments