update gitignore
[pcsx_rearmed.git] / .gitlab-ci.yml
1 # DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)
2
3 ##############################################################################
4 ################################# BOILERPLATE ################################
5 ##############################################################################
6
7 # Core definitions
8 .core-defs:
9   variables:
10     JNI_PATH: .
11     MAKEFILE: Makefile.libretro
12     CORENAME: pcsx_rearmed
13
14 # Inclusion templates, required for the build to work
15 include:
16   ################################## DESKTOPS ################################
17   # Windows 64-bit
18   - project: 'libretro-infrastructure/ci-templates'
19     file: '/windows-x64-mingw.yml'
20
21   # Windows 32-bit
22   - project: 'libretro-infrastructure/ci-templates'
23     file: '/windows-i686-mingw.yml'
24
25   # Linux 64-bit
26   - project: 'libretro-infrastructure/ci-templates'
27     file: '/linux-x64.yml'
28
29   # Linux 32-bit
30   - project: 'libretro-infrastructure/ci-templates'
31     file: '/linux-i686.yml'
32
33   # MacOS PowerPC 32-bit
34   # FIXME: libchdr vs Byte redefinition
35   #- project: 'libretro-infrastructure/ci-templates'
36   #  file: '/osx-ppc.yml'
37
38   # MacOS 64-bit
39   - project: 'libretro-infrastructure/ci-templates'
40     file: '/osx-x64.yml'
41
42   # MacOS ARM 64-bit
43   - project: 'libretro-infrastructure/ci-templates'
44     file: '/osx-arm64.yml'
45
46   ################################## CELLULAR ################################
47   # Android
48   - project: 'libretro-infrastructure/ci-templates'
49     file: '/android-jni.yml'
50
51   # iOS
52   - project: 'libretro-infrastructure/ci-templates'
53     file: '/ios-arm64.yml'
54
55   # iOS (armv7)
56   - project: 'libretro-infrastructure/ci-templates'
57     file: '/ios9.yml'
58     
59   ################################## CONSOLES ################################
60   # PlayStation3
61   - project: 'libretro-infrastructure/ci-templates'
62     file: '/psl1ght-static.yml'
63
64   # PlayStation Portable
65   - project: 'libretro-infrastructure/ci-templates'
66     file: '/psp-static.yml'
67   
68   # PlayStation Vita
69   - project: 'libretro-infrastructure/ci-templates'
70     file: '/vita-static.yml'
71     
72   # Nintendo 3DS
73   - project: 'libretro-infrastructure/ci-templates'
74     file: '/ctr-static.yml'
75     
76   # Nintendo GameCube
77   - project: 'libretro-infrastructure/ci-templates'
78     file: '/ngc-static.yml'
79
80   # Nintendo Wii
81   - project: 'libretro-infrastructure/ci-templates'
82     file: '/wii-static.yml'
83
84   # Nintendo WiiU
85   - project: 'libretro-infrastructure/ci-templates'
86     file: '/wiiu-static.yml'
87
88   # Nintendo Switch
89   - project: 'libretro-infrastructure/ci-templates'
90     file: '/libnx-static.yml'
91
92   # tvOS (AppleTV)
93   - project: 'libretro-infrastructure/ci-templates'
94     file: '/tvos-arm64.yml'
95
96   # OpenDingux (ARM)
97   - project: 'libretro-infrastructure/ci-templates'
98     file: '/dingux-arm32.yml'
99     
100   #################################### MISC ##################################
101   # Emscripten
102   - project: 'libretro-infrastructure/ci-templates'
103     file: '/emscripten-static.yml'
104
105 # Stages for building
106 stages:
107   - build-prepare
108   - build-shared
109   - build-static
110
111 ##############################################################################
112 #################################### STAGES ##################################
113 ##############################################################################
114 #
115 ################################### DESKTOPS #################################
116 # Windows 64-bit
117 libretro-build-windows-x64:
118   extends:
119     - .libretro-windows-x64-mingw-make-default
120     - .core-defs
121
122 # Windows 32-bit
123 libretro-build-windows-i686:
124   extends:
125     - .libretro-windows-i686-mingw-make-default
126     - .core-defs
127
128 # Linux 64-bit
129 libretro-build-linux-x64:
130   extends:
131     - .libretro-linux-x64-make-default
132     - .core-defs
133     
134 # Linux 32-bit
135 libretro-build-linux-i686:
136   extends:
137     - .libretro-linux-i686-make-default
138     - .core-defs
139
140 # MacOS 64-bit
141 libretro-build-osx-x64:
142   extends:
143     - .libretro-osx-x64-make-10-7
144     - .core-defs
145
146 # MacOS ARM 64-bit
147 libretro-build-osx-arm64:
148   extends:
149     - .libretro-osx-arm64-make-default
150     - .core-defs
151
152 # MacOS PowerPC 32-bit
153 #libretro-build-osx-ppc:
154 #  extends:
155 #    - .libretro-osx-ppc-make-default
156 #    - .core-defs
157
158 ################################### CELLULAR #################################
159 # Android ARMv7a
160 android-armeabi-v7a:
161   extends:
162     - .core-defs
163     - .libretro-android-jni-armeabi-v7a
164
165 # Android ARMv8a
166 android-arm64-v8a:
167   extends:
168     - .libretro-android-jni-arm64-v8a
169     - .core-defs
170
171 # Android 64-bit x86
172 android-x86_64:
173   extends:
174     - .libretro-android-jni-x86_64
175     - .core-defs
176
177 # Android 32-bit x86
178 android-x86:
179   extends:
180     - .libretro-android-jni-x86
181     - .core-defs
182
183 # iOS
184 libretro-build-ios-arm64:
185   extends:
186     - .libretro-ios-arm64-make-default
187     - .core-defs
188
189 # iOS (armv7) [iOS 9 and up]
190 libretro-build-ios9:
191   extends:
192     - .libretro-ios9-make-default
193     - .core-defs
194     
195 # tvOS
196 libretro-build-tvos-arm64:
197   extends:
198     - .libretro-tvos-arm64-make-default
199     - .core-defs
200     
201 ################################### CONSOLES #################################
202 # PlayStation3
203 libretro-build-psl1ght:
204   extends:
205     - .libretro-psl1ght-static-retroarch-master
206     - .core-defs
207
208 # PlayStation Vita
209 libretro-build-vita:
210   extends:
211     - .libretro-vita-static-retroarch-master
212     - .core-defs
213     
214 # Nintendo 3DS
215 libretro-build-ctr:
216   extends:
217     - .libretro-ctr-static-retroarch-master
218     - .core-defs
219     
220 # Nintendo GameCube
221 libretro-build-ngc:
222   extends:
223     - .libretro-ngc-static-retroarch-master
224     - .core-defs
225
226 # Nintendo Wii
227 libretro-build-wii:
228   extends:
229     - .libretro-wii-static-retroarch-master
230     - .core-defs
231
232 # Nintendo WiiU
233 libretro-build-wiiu:
234   extends:
235     - .libretro-wiiu-static-retroarch-master
236     - .core-defs
237
238 # Nintendo Switch
239 libretro-build-libnx-aarch64:
240   extends:
241     - .libretro-libnx-static-retroarch-master
242     - .core-defs
243
244 # Miyoo
245 libretro-build-miyoo-arm32:
246   extends:
247     - .libretro-miyoo-arm32-make-default
248     - .core-defs
249
250 #################################### MISC ##################################
251 # Emscripten
252 libretro-build-emscripten:
253   extends:
254     - .libretro-emscripten-static-retroarch-master
255     - .core-defs