Add ios-arm64/tvos-arm64, ios9, and osx-arm64. osx-arm64 is interpreter
[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   #################################### MISC ##################################
76
77 # Stages for building
78 stages:
79   - build-prepare
80   - build-shared
81   - build-static
82
83 ##############################################################################
84 #################################### STAGES ##################################
85 ##############################################################################
86 #
87 ################################### DESKTOPS #################################
88 # Windows 64-bit
89 libretro-build-windows-x64:
90   extends:
91     - .libretro-windows-x64-mingw-make-default
92     - .core-defs
93
94 # Windows 32-bit
95 libretro-build-windows-i686:
96   extends:
97     - .libretro-windows-i686-mingw-make-default
98     - .core-defs
99
100 # Linux 64-bit
101 libretro-build-linux-x64:
102   extends:
103     - .libretro-linux-x64-make-default
104     - .core-defs
105     
106 # Linux 32-bit
107 libretro-build-linux-i686:
108   extends:
109     - .libretro-linux-i686-make-default
110     - .core-defs
111
112 # MacOS 64-bit
113 libretro-build-osx-x64:
114   extends:
115     - .libretro-osx-x64-make-default
116     - .core-defs
117
118 # MacOS ARM 64-bit
119 libretro-build-osx-arm64:
120   extends:
121     - .libretro-osx-arm64-make-default
122     - .core-defs
123
124 ################################### CELLULAR #################################
125 # Android ARMv7a
126 android-armeabi-v7a:
127   extends:
128     - .core-defs
129     - .libretro-android-jni-armeabi-v7a
130
131 # Android ARMv8a
132 android-arm64-v8a:
133   extends:
134     - .libretro-android-jni-arm64-v8a
135     - .core-defs
136
137 # Android 64-bit x86
138 android-x86_64:
139   extends:
140     - .libretro-android-jni-x86_64
141     - .core-defs
142
143 # Android 32-bit x86
144 android-x86:
145   extends:
146     - .libretro-android-jni-x86
147     - .core-defs
148
149 # iOS
150 libretro-build-ios-arm64:
151   extends:
152     - .libretro-ios-arm64-make-default
153     - .core-defs
154
155 # iOS (armv7) [iOS 9 and up]
156 libretro-build-ios9:
157   extends:
158     - .libretro-ios9-make-default
159     - .core-defs
160     
161 # tvOS
162 libretro-build-tvos-arm64:
163   extends:
164     - .libretro-tvos-arm64-make-default
165     - .core-defs
166     
167 ################################### CONSOLES #################################
168 # PlayStation Vita
169 libretro-build-vita:
170   extends:
171     - .libretro-vita-static-retroarch-master
172     - .core-defs
173     
174 # Nintendo 3DS
175 libretro-build-ctr:
176   extends:
177     - .libretro-ctr-static-retroarch-master
178     - .core-defs
179     
180 # Nintendo Switch
181 libretro-build-libnx-aarch64:
182   extends:
183     - .libretro-libnx-static-retroarch-master
184     - .core-defs