If a test has variants, do not add the base test class because that will just cause...
[SquirrelJME.git] / .gitlab-ci.yml
blob53b2b71a40b35c45dd8df79a8a9a78ff0fe6b7f4
1 # ---------------------------------------------------------------------------
2 # SquirrelJME
3 #     Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
4 # ---------------------------------------------------------------------------
5 # SquirrelJME is under the GNU General Public License v3+, or later.
6 # See license.mkd for licensing and copyright information.
7 # ---------------------------------------------------------------------------
8 # DESCRIPTION: GitLab CI/CD for libRetro
10 ##############################################################################
11 ################################# BOILERPLATE ################################
12 ##############################################################################
14 # Core definitions
15 .core-defs:
16   variables:
17     CORENAME: squirreljme
18     JNI_PATH: ratufacoat/libretro/
19     MAKEFILE_PATH: ratufacoat
20     MAKEFILE: makefilelibretro
22 # Inclusion templates, required for the build to work
23 include:
24   ################################## DESKTOPS ################################
25   # Linux 32-bit
26   - project: 'libretro-infrastructure/ci-templates'
27     file: '/linux-i686.yml'
29   # Linux 64-bit
30   - project: 'libretro-infrastructure/ci-templates'
31     file: '/linux-x64.yml'
33   # MacOS 64-bit
34   - project: 'libretro-infrastructure/ci-templates'
35     file: '/osx-x64.yml'
37   # MacOS ARM 64-bit
38   - project: 'libretro-infrastructure/ci-templates'
39     file: '/osx-arm64.yml'
41   # Windows 32-bit
42   - project: 'libretro-infrastructure/ci-templates'
43     file: '/windows-i686-mingw.yml'
45   # Windows 64-bit
46   - project: 'libretro-infrastructure/ci-templates'
47     file: '/windows-x64-mingw.yml'
49   ################################## CELLULAR ################################
50   # Android
51   - project: 'libretro-infrastructure/ci-templates'
52     file: '/android-jni.yml'
54   # iOS 9
55   - project: 'libretro-infrastructure/ci-templates'
56     file: '/ios9.yml'
58   ################################## CONSOLES ################################
59   # Dingux (GCW Zero)
60   - project: 'libretro-infrastructure/ci-templates'
61     file: '/dingux-mips32.yml'
63   # Nintendo 3DS
64   - project: 'libretro-infrastructure/ci-templates'
65     file: '/ctr-static.yml'
67   # Nintendo GameCube
68   - project: 'libretro-infrastructure/ci-templates'
69     file: '/ngc-static.yml'
71   # Nintendo Switch
72   - project: 'libretro-infrastructure/ci-templates'
73     file: '/libnx-static.yml'
75   # Nintendo Wii
76   - project: 'libretro-infrastructure/ci-templates'
77     file: '/wii-static.yml'
79   # Nintendo Wii U
80   - project: 'libretro-infrastructure/ci-templates'
81     file: '/wiiu-static.yml'
83   # PLayStation 2
84   - project: 'libretro-infrastructure/ci-templates'
85     file: '/ps2-static.yml'
87   # PlayStation Vita
88   - project: 'libretro-infrastructure/ci-templates'
89     file: '/vita-static.yml'
91   #################################### MISC ##################################
92   # Emscripten
93   - project: 'libretro-infrastructure/ci-templates'
94     file: '/emscripten-static.yml'
96 # Stages for building
97 stages:
98   - build-prepare
99   - build-shared
100   - build-static
102 ##############################################################################
103 #################################### STAGES ##################################
104 ##############################################################################
106 ################################### DESKTOPS #################################
107 # Linux 32-bit
108 libretro-build-linux-i686:
109   extends:
110     - .libretro-linux-i686-make-default
111     - .core-defs
113 # Linux 64-bit
114 libretro-build-linux-x64:
115   extends:
116     - .libretro-linux-x64-make-default
117     - .core-defs
119 # MacOS 64-bit
120 libretro-build-osx-x64:
121   extends:
122     - .libretro-osx-x64-make-default
123     - .core-defs
125 # MacOS ARM 64-bit
126 libretro-build-osx-arm64:
127   extends:
128     - .libretro-osx-arm64-make-default
129     - .core-defs
131 # Windows 32-bit
132 libretro-build-windows-i686:
133   extends:
134     - .libretro-windows-i686-mingw-make-default
135     - .core-defs
137 # Windows 64-bit
138 libretro-build-windows-x64:
139   extends:
140     - .libretro-windows-x64-mingw-make-default
141     - .core-defs
143 ################################### CELLULAR #################################
144 # Android ARMv7a
145 android-armeabi-v7a:
146   extends:
147     - .libretro-android-jni-armeabi-v7a
148     - .core-defs
150 # Android ARMv8a
151 android-arm64-v8a:
152   extends:
153     - .libretro-android-jni-arm64-v8a
154     - .core-defs
156 # Android 64-bit x86
157 android-x86_64:
158   extends:
159     - .libretro-android-jni-x86_64
160     - .core-defs
162 # Android 32-bit x86
163 android-x86:
164   extends:
165     - .libretro-android-jni-x86
166     - .core-defs
168 # iOS 9
169 libretro-build-ios9:
170   extends:
171     - .libretro-ios9-make-default
172     - .core-defs
174 ################################### CONSOLES #################################
175 # Dingux (GCW Zero)
176 libretro-build-dingux-mips32:
177   extends:
178     - .libretro-dingux-mips32-make-default
179     - .core-defs
181 # Nintendo 3DS
182 libretro-build-ctr:
183   extends:
184     - .libretro-ctr-static-retroarch-master
185     - .core-defs
187 # Nintendo GameCube
188 libretro-build-ngc:
189   extends:
190     - .libretro-ngc-static-retroarch-master
191     - .core-defs
193 # Nintendo Switch
194 libretro-build-libnx-aarch64:
195   extends:
196     - .libretro-libnx-static-retroarch-master
197     - .core-defs
199 # Nintendo Wii
200 libretro-build-wii:
201   extends:
202     - .libretro-wii-static-retroarch-master
203     - .core-defs
205 # Nintendo Wii U
206 libretro-build-wiiu:
207   extends:
208     - .libretro-wiiu-static-retroarch-master
209     - .core-defs
211 # PlayStation 2
212 libretro-build-ps2:
213   extends:
214     - .libretro-ps2-static-retroarch-master
215     - .core-defs
217 # PlayStation Vita
218 libretro-build-vita:
219   extends:
220     - .libretro-vita-static-retroarch-master
221     - .core-defs
223 #################################### MISC ##################################
224 # Emscripten
225 libretro-build-emscripten:
226   extends:
227     - .libretro-emscripten-static-retroarch-master
228     - .core-defs