Create .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     CORENAME: pcsx_rearmed
12
13 # Inclusion templates, required for the build to work
14 include:
15   ################################## DESKTOPS ################################
16   # Windows 64-bit
17   - project: 'libretro-infrastructure/ci-templates'
18     file: '/windows-x64-mingw.yml'
19   
20   # Linux 64-bit
21   - project: 'libretro-infrastructure/ci-templates'
22     file: '/linux-x64.yml'
23     
24   # MacOS 64-bit
25   - project: 'libretro-infrastructure/ci-templates'
26     file: '/osx-x64.yml'
27
28   ################################## CELLULAR ################################
29   # Android
30   - project: 'libretro-infrastructure/ci-templates'
31     file: '/android-jni.yml'
32     
33   ################################## CONSOLES ################################
34   # PlayStation Portable
35   - project: 'libretro-infrastructure/ci-templates'
36     file: '/psp-static.yml'
37   
38   # PlayStation Vita
39   - project: 'libretro-infrastructure/ci-templates'
40     file: '/vita-static.yml'
41     
42   # Nintendo 3DS
43   - project: 'libretro-infrastructure/ci-templates'
44     file: '/ctr-static.yml'
45     
46   # Nintendo Switch
47   - project: 'libretro-infrastructure/ci-templates'
48     file: '/libnx-static.yml'
49
50 # Stages for building
51 stages:
52   - build-prepare
53   - build-shared
54   - build-static
55
56 ##############################################################################
57 #################################### STAGES ##################################
58 ##############################################################################
59 #
60 ################################### DESKTOPS #################################
61 # Windows 64-bit
62 libretro-build-windows-x64:
63   extends:
64     - .libretro-windows-x64-mingw-make-default
65     - .core-defs
66     
67 # Linux 64-bit
68 libretro-build-linux-x64:
69   extends:
70     - .libretro-linux-x64-make-default
71     - .core-defs
72
73 # MacOS 64-bit
74 libretro-build-osx-x64:
75   extends:
76     - .libretro-osx-x64-make-default
77     - .core-defs
78
79 ################################### CELLULAR #################################
80 # Android ARMv7a
81 android-armeabi-v7a:
82   extends:
83     - .core-defs
84     - .libretro-android-jni-armeabi-v7a
85
86 # Android ARMv8a
87 android-arm64-v8a:
88   extends:
89     - .libretro-android-jni-arm64-v8a
90     - .core-defs
91
92 # Android 64-bit x86
93 android-x86_64:
94   extends:
95     - .libretro-android-jni-x86_64
96     - .core-defs
97
98 # Android 32-bit x86
99 android-x86:
100   extends:
101     - .libretro-android-jni-x86
102     - .core-defs
103     
104 ################################### CONSOLES #################################
105 # PlayStation Vita
106 libretro-build-vita:
107   extends:
108     - .libretro-vita-static-retroarch-master
109     - .core-defs
110     
111 # Nintendo 3DS
112 libretro-build-ctr:
113   extends:
114     - .libretro-ctr-static-retroarch-master
115     - .core-defs
116     
117 # Nintendo Switch
118 libretro-build-libnx-aarch64:
119   extends:
120     - .libretro-libnx-static-retroarch-master
121     - .core-defs