Update .gitlab-ci.yml
[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 64-bit
34   - project: 'libretro-infrastructure/ci-templates'
35     file: '/osx-x64.yml'
36
37   # MacOS ARM 64-bit
38   - project: 'libretro-infrastructure/ci-templates'
39     file: '/osx-arm64.yml'
40
41   ################################## CELLULAR ################################
42   # Android
43   - project: 'libretro-infrastructure/ci-templates'
44     file: '/android-jni.yml'
45
46   # iOS
47   - project: 'libretro-infrastructure/ci-templates'
48     file: '/ios-arm64.yml'
49
50   # iOS (armv7)
51   - project: 'libretro-infrastructure/ci-templates'
52     file: '/ios9.yml'
53     
54   ################################## CONSOLES ################################
55   # PlayStation Portable
56   - project: 'libretro-infrastructure/ci-templates'
57     file: '/psp-static.yml'
58   
59   # PlayStation Vita
60   - project: 'libretro-infrastructure/ci-templates'
61     file: '/vita-static.yml'
62     
63   # Nintendo 3DS
64   - project: 'libretro-infrastructure/ci-templates'
65     file: '/ctr-static.yml'
66     
67   # Nintendo Switch
68   - project: 'libretro-infrastructure/ci-templates'
69     file: '/libnx-static.yml'
70
71   # tvOS (AppleTV)
72   - project: 'libretro-infrastructure/ci-templates'
73     file: '/tvos-arm64.yml'
74
75   # OpenDingux (ARM)
76   - project: 'libretro-infrastructure/ci-templates'
77     file: '/dingux-arm32.yml'
78     
79   #################################### MISC ##################################
80
81 # Stages for building
82 stages:
83   - build-prepare
84   - build-shared
85   - build-static
86
87 ##############################################################################
88 #################################### STAGES ##################################
89 ##############################################################################
90 #
91 ################################### DESKTOPS #################################
92 # Windows 64-bit
93 libretro-build-windows-x64:
94   extends:
95     - .libretro-windows-x64-mingw-make-default
96     - .core-defs
97
98 # Windows 32-bit
99 libretro-build-windows-i686:
100   extends:
101     - .libretro-windows-i686-mingw-make-default
102     - .core-defs
103
104 # Linux 64-bit
105 libretro-build-linux-x64:
106   extends:
107     - .libretro-linux-x64-make-default
108     - .core-defs
109     
110 # Linux 32-bit
111 libretro-build-linux-i686:
112   extends:
113     - .libretro-linux-i686-make-default
114     - .core-defs
115
116 # MacOS 64-bit
117 libretro-build-osx-x64:
118   extends:
119     - .libretro-osx-x64-make-10-7
120     - .core-defs
121
122 # MacOS ARM 64-bit
123 libretro-build-osx-arm64:
124   extends:
125     - .libretro-osx-arm64-make-default
126     - .core-defs
127
128 ################################### CELLULAR #################################
129 # Android ARMv7a
130 android-armeabi-v7a:
131   extends:
132     - .core-defs
133     - .libretro-android-jni-armeabi-v7a
134
135 # Android ARMv8a
136 android-arm64-v8a:
137   extends:
138     - .libretro-android-jni-arm64-v8a
139     - .core-defs
140
141 # Android 64-bit x86
142 android-x86_64:
143   extends:
144     - .libretro-android-jni-x86_64
145     - .core-defs
146
147 # Android 32-bit x86
148 android-x86:
149   extends:
150     - .libretro-android-jni-x86
151     - .core-defs
152
153 # iOS
154 libretro-build-ios-arm64:
155   extends:
156     - .libretro-ios-arm64-make-default
157     - .core-defs
158
159 # iOS (armv7) [iOS 9 and up]
160 libretro-build-ios9:
161   extends:
162     - .libretro-ios9-make-default
163     - .core-defs
164     
165 # tvOS
166 libretro-build-tvos-arm64:
167   extends:
168     - .libretro-tvos-arm64-make-default
169     - .core-defs
170     
171 ################################### CONSOLES #################################
172 # PlayStation Vita
173 libretro-build-vita:
174   extends:
175     - .libretro-vita-static-retroarch-master
176     - .core-defs
177     
178 # Nintendo 3DS
179 libretro-build-ctr:
180   extends:
181     - .libretro-ctr-static-retroarch-master
182     - .core-defs
183     
184 # Nintendo Switch
185 libretro-build-libnx-aarch64:
186   extends:
187     - .libretro-libnx-static-retroarch-master
188     - .core-defs
189
190 # Miyoo
191 libretro-build-miyoo-arm32:
192   extends:
193     - .libretro-miyoo-arm32-make-default
194     - .core-defs