try again
[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
102 # Stages for building
103 stages:
104   - build-prepare
105   - build-shared
106   - build-static
107
108 ##############################################################################
109 #################################### STAGES ##################################
110 ##############################################################################
111 #
112 ################################### DESKTOPS #################################
113 # Windows 64-bit
114 libretro-build-windows-x64:
115   extends:
116     - .libretro-windows-x64-mingw-make-default
117     - .core-defs
118
119 # Windows 32-bit
120 libretro-build-windows-i686:
121   extends:
122     - .libretro-windows-i686-mingw-make-default
123     - .core-defs
124
125 # Linux 64-bit
126 libretro-build-linux-x64:
127   extends:
128     - .libretro-linux-x64-make-default
129     - .core-defs
130     
131 # Linux 32-bit
132 libretro-build-linux-i686:
133   extends:
134     - .libretro-linux-i686-make-default
135     - .core-defs
136
137 # MacOS 64-bit
138 libretro-build-osx-x64:
139   extends:
140     - .libretro-osx-x64-make-10-7
141     - .core-defs
142
143 # MacOS ARM 64-bit
144 libretro-build-osx-arm64:
145   extends:
146     - .libretro-osx-arm64-make-default
147     - .core-defs
148
149 # MacOS PowerPC 32-bit
150 #libretro-build-osx-ppc:
151 #  extends:
152 #    - .libretro-osx-ppc-make-default
153 #    - .core-defs
154
155 ################################### CELLULAR #################################
156 # Android ARMv7a
157 android-armeabi-v7a:
158   extends:
159     - .core-defs
160     - .libretro-android-jni-armeabi-v7a
161
162 # Android ARMv8a
163 android-arm64-v8a:
164   extends:
165     - .libretro-android-jni-arm64-v8a
166     - .core-defs
167
168 # Android 64-bit x86
169 android-x86_64:
170   extends:
171     - .libretro-android-jni-x86_64
172     - .core-defs
173
174 # Android 32-bit x86
175 android-x86:
176   extends:
177     - .libretro-android-jni-x86
178     - .core-defs
179
180 # iOS
181 libretro-build-ios-arm64:
182   extends:
183     - .libretro-ios-arm64-make-default
184     - .core-defs
185
186 # iOS (armv7) [iOS 9 and up]
187 libretro-build-ios9:
188   extends:
189     - .libretro-ios9-make-default
190     - .core-defs
191     
192 # tvOS
193 libretro-build-tvos-arm64:
194   extends:
195     - .libretro-tvos-arm64-make-default
196     - .core-defs
197     
198 ################################### CONSOLES #################################
199 # PlayStation3
200 libretro-build-psl1ght:
201   extends:
202     - .libretro-psl1ght-static-retroarch-master
203     - .core-defs
204
205 # PlayStation Vita
206 libretro-build-vita:
207   extends:
208     - .libretro-vita-static-retroarch-master
209     - .core-defs
210     
211 # Nintendo 3DS
212 libretro-build-ctr:
213   extends:
214     - .libretro-ctr-static-retroarch-master
215     - .core-defs
216     
217 # Nintendo GameCube
218 libretro-build-ngc:
219   extends:
220     - .libretro-ngc-static-retroarch-master
221     - .core-defs
222
223 # Nintendo Wii
224 libretro-build-wii:
225   extends:
226     - .libretro-wii-static-retroarch-master
227     - .core-defs
228
229 # Nintendo WiiU
230 libretro-build-wiiu:
231   extends:
232     - .libretro-wiiu-static-retroarch-master
233     - .core-defs
234
235 # Nintendo Switch
236 libretro-build-libnx-aarch64:
237   extends:
238     - .libretro-libnx-static-retroarch-master
239     - .core-defs
240
241 # Miyoo
242 libretro-build-miyoo-arm32:
243   extends:
244     - .libretro-miyoo-arm32-make-default
245     - .core-defs