platforms: try some new big endian platforms
[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   - project: 'libretro-infrastructure/ci-templates'
35     file: '/osx-ppc.yml'
36
37   # MacOS 64-bit
38   - project: 'libretro-infrastructure/ci-templates'
39     file: '/osx-x64.yml'
40
41   # MacOS ARM 64-bit
42   - project: 'libretro-infrastructure/ci-templates'
43     file: '/osx-arm64.yml'
44
45   ################################## CELLULAR ################################
46   # Android
47   - project: 'libretro-infrastructure/ci-templates'
48     file: '/android-jni.yml'
49
50   # iOS
51   - project: 'libretro-infrastructure/ci-templates'
52     file: '/ios-arm64.yml'
53
54   # iOS (armv7)
55   - project: 'libretro-infrastructure/ci-templates'
56     file: '/ios9.yml'
57     
58   ################################## CONSOLES ################################
59   # PlayStation3
60   - project: 'libretro-infrastructure/ci-templates'
61     file: '/psl1ght-static.yml'
62
63   # PlayStation Portable
64   - project: 'libretro-infrastructure/ci-templates'
65     file: '/psp-static.yml'
66   
67   # PlayStation Vita
68   - project: 'libretro-infrastructure/ci-templates'
69     file: '/vita-static.yml'
70     
71   # Nintendo 3DS
72   - project: 'libretro-infrastructure/ci-templates'
73     file: '/ctr-static.yml'
74     
75   # Nintendo GameCube
76   - project: 'libretro-infrastructure/ci-templates'
77     file: '/ngc-static.yml'
78
79   # Nintendo Wii
80   - project: 'libretro-infrastructure/ci-templates'
81     file: '/wii-static.yml'
82
83   # Nintendo WiiU
84   - project: 'libretro-infrastructure/ci-templates'
85     file: '/wiiu-static.yml'
86
87   # Nintendo Switch
88   - project: 'libretro-infrastructure/ci-templates'
89     file: '/libnx-static.yml'
90
91   # tvOS (AppleTV)
92   - project: 'libretro-infrastructure/ci-templates'
93     file: '/tvos-arm64.yml'
94
95   # OpenDingux (ARM)
96   - project: 'libretro-infrastructure/ci-templates'
97     file: '/dingux-arm32.yml'
98     
99   #################################### MISC ##################################
100
101 # Stages for building
102 stages:
103   - build-prepare
104   - build-shared
105   - build-static
106
107 ##############################################################################
108 #################################### STAGES ##################################
109 ##############################################################################
110 #
111 ################################### DESKTOPS #################################
112 # Windows 64-bit
113 libretro-build-windows-x64:
114   extends:
115     - .libretro-windows-x64-mingw-make-default
116     - .core-defs
117
118 # Windows 32-bit
119 libretro-build-windows-i686:
120   extends:
121     - .libretro-windows-i686-mingw-make-default
122     - .core-defs
123
124 # Linux 64-bit
125 libretro-build-linux-x64:
126   extends:
127     - .libretro-linux-x64-make-default
128     - .core-defs
129     
130 # Linux 32-bit
131 libretro-build-linux-i686:
132   extends:
133     - .libretro-linux-i686-make-default
134     - .core-defs
135
136 # MacOS 64-bit
137 libretro-build-osx-x64:
138   extends:
139     - .libretro-osx-x64-make-10-7
140     - .core-defs
141
142 # MacOS ARM 64-bit
143 libretro-build-osx-arm64:
144   extends:
145     - .libretro-osx-arm64-make-default
146     - .core-defs
147
148 # MacOS PowerPC 32-bit
149 libretro-build-osx-ppc:
150   extends:
151     - .libretro-osx-ppc-make-default
152     - .core-defs
153
154 ################################### CELLULAR #################################
155 # Android ARMv7a
156 android-armeabi-v7a:
157   extends:
158     - .core-defs
159     - .libretro-android-jni-armeabi-v7a
160
161 # Android ARMv8a
162 android-arm64-v8a:
163   extends:
164     - .libretro-android-jni-arm64-v8a
165     - .core-defs
166
167 # Android 64-bit x86
168 android-x86_64:
169   extends:
170     - .libretro-android-jni-x86_64
171     - .core-defs
172
173 # Android 32-bit x86
174 android-x86:
175   extends:
176     - .libretro-android-jni-x86
177     - .core-defs
178
179 # iOS
180 libretro-build-ios-arm64:
181   extends:
182     - .libretro-ios-arm64-make-default
183     - .core-defs
184
185 # iOS (armv7) [iOS 9 and up]
186 libretro-build-ios9:
187   extends:
188     - .libretro-ios9-make-default
189     - .core-defs
190     
191 # tvOS
192 libretro-build-tvos-arm64:
193   extends:
194     - .libretro-tvos-arm64-make-default
195     - .core-defs
196     
197 ################################### CONSOLES #################################
198 # PlayStation3
199 libretro-build-psl1ght:
200   extends:
201     - .libretro-psl1ght-static-retroarch-master
202     - .core-defs
203
204 # PlayStation Vita
205 libretro-build-vita:
206   extends:
207     - .libretro-vita-static-retroarch-master
208     - .core-defs
209     
210 # Nintendo 3DS
211 libretro-build-ctr:
212   extends:
213     - .libretro-ctr-static-retroarch-master
214     - .core-defs
215     
216 # Nintendo GameCube
217 libretro-build-ngc:
218   extends:
219     - .libretro-ngc-static-retroarch-master
220     - .core-defs
221
222 # Nintendo Wii
223 libretro-build-wii:
224   extends:
225     - .libretro-wii-static-retroarch-master
226     - .core-defs
227
228 # Nintendo WiiU
229 libretro-build-wiiu:
230   extends:
231     - .libretro-wiiu-static-retroarch-master
232     - .core-defs
233
234 # Nintendo Switch
235 libretro-build-libnx-aarch64:
236   extends:
237     - .libretro-libnx-static-retroarch-master
238     - .core-defs
239
240 # Miyoo
241 libretro-build-miyoo-arm32:
242   extends:
243     - .libretro-miyoo-arm32-make-default
244     - .core-defs