.gitlab-ci.yml 3.61 KB
Newer Older
Libretro-Admin's avatar
Libretro-Admin committed
1
2
3
4
5
6
7
# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)

##############################################################################
################################# BOILERPLATE ################################
##############################################################################

# Core definitions
Libretro-Admin's avatar
Libretro-Admin committed
8
9
10
11
.core-defs:
  variables:
    JNI_PATH: .
    CORENAME: lutro
Libretro-Admin's avatar
Libretro-Admin committed
12
13
14
    MAKEFILE: Makefile
 
# Inclusion templates, required for the build to work
Libretro-Admin's avatar
Libretro-Admin committed
15
include:
Libretro-Admin's avatar
Libretro-Admin committed
16
17
  ################################## DESKTOPS ################################
  # Windows 64-bit
Libretro-Admin's avatar
Libretro-Admin committed
18
  - project: 'libretro-infrastructure/ci-templates'
Libretro-Admin's avatar
Libretro-Admin committed
19
    file: '/windows-x64-mingw.yml'
Libretro-Admin's avatar
Libretro-Admin committed
20
21
22
23
24

  # Windows 32-bit
  - project: 'libretro-infrastructure/ci-templates'
    file: '/windows-i686-mingw.yml'

Libretro-Admin's avatar
Libretro-Admin committed
25
  # Linux 64-bit
Libretro-Admin's avatar
Libretro-Admin committed
26
27
  - project: 'libretro-infrastructure/ci-templates'
    file: '/linux-x64.yml'
Libretro-Admin's avatar
Libretro-Admin committed
28
29
30
31
32

  # Linux 32-bit
  - project: 'libretro-infrastructure/ci-templates'
    file: '/linux-i686.yml'

Libretro-Admin's avatar
Libretro-Admin committed
33
34
35
36
37
38
39
40
  # MacOS ARM 64-bit
  - project: 'libretro-infrastructure/ci-templates'
    file: '/osx-arm64.yml'

  # MacOS 64-bit
  - project: 'libretro-infrastructure/ci-templates'
    file: '/osx-x64.yml'

Libretro-Admin's avatar
Libretro-Admin committed
41
42
  ################################## CELLULAR ################################
  # Android
Libretro-Admin's avatar
Libretro-Admin committed
43
44
  - project: 'libretro-infrastructure/ci-templates'
    file: '/android-jni.yml'
Libretro-Admin's avatar
Libretro-Admin committed
45

Libretro-Admin's avatar
Libretro-Admin committed
46
47
48
49
  ################################## CONSOLES ################################
  # PlayStation Vita
  - project: 'libretro-infrastructure/ci-templates'
    file: '/vita-static.yml'
Libretro-Admin's avatar
Libretro-Admin committed
50

Libretro-Admin's avatar
Libretro-Admin committed
51
52
53
54
55
56
57
  # Nintendo GameCube
  - project: 'libretro-infrastructure/ci-templates'
    file: '/ngc-static.yml'

  # Nintendo Wii
  - project: 'libretro-infrastructure/ci-templates'
    file: '/wii-static.yml'
Libretro-Admin's avatar
Libretro-Admin committed
58

Libretro-Admin's avatar
Libretro-Admin committed
59
# Stages for building
Libretro-Admin's avatar
Libretro-Admin committed
60
61
62
63
64
stages:
  - build-prepare
  - build-shared
  - build-static

Libretro-Admin's avatar
Libretro-Admin committed
65
66
67
68
69
70
71
##############################################################################
#################################### STAGES ##################################
##############################################################################
#
################################### DESKTOPS #################################
# Windows 64-bit
libretro-build-windows-x64:
Libretro-Admin's avatar
Libretro-Admin committed
72
  extends:
Libretro-Admin's avatar
Libretro-Admin committed
73
    - .libretro-windows-x64-mingw-make-default
Libretro-Admin's avatar
Libretro-Admin committed
74
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
75
76
77
78
79
80
81

# Windows 32-bit
libretro-build-windows-i686:
  extends:
    - .libretro-windows-i686-mingw-make-default
    - .core-defs

Libretro-Admin's avatar
Libretro-Admin committed
82
83
# Linux 64-bit
libretro-build-linux-x64:
Libretro-Admin's avatar
Libretro-Admin committed
84
  extends:
Libretro-Admin's avatar
Libretro-Admin committed
85
    - .libretro-linux-x64-make-default
Libretro-Admin's avatar
Libretro-Admin committed
86
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
87
88
89
90
91
92

# Linux 32-bit
libretro-build-linux-i686:
  extends:
    - .libretro-linux-i686-make-default
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
93
94
95
96
97
98
99
100
101
102
103
104

# macOS 64-bit
libretro-build-osx-arm64:
  extends:
    - .libretro-osx-arm64-make-default
    - .core-defs

# macOS 64-bit
libretro-build-osx-x64:
  extends:
    - .libretro-osx-x64-make-default
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
105

Libretro-Admin's avatar
Libretro-Admin committed
106
107
################################### CELLULAR #################################
# Android ARMv7a
Libretro-Admin's avatar
Libretro-Admin committed
108
109
110
android-armeabi-v7a:
  extends:
    - .libretro-android-jni-armeabi-v7a
Libretro-Admin's avatar
Libretro-Admin committed
111
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
112

Libretro-Admin's avatar
Libretro-Admin committed
113
# Android ARMv8a
Libretro-Admin's avatar
Libretro-Admin committed
114
115
116
android-arm64-v8a:
  extends:
    - .libretro-android-jni-arm64-v8a
Libretro-Admin's avatar
Libretro-Admin committed
117
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
118

Libretro-Admin's avatar
Libretro-Admin committed
119
# Android 64-bit x86
Libretro-Admin's avatar
Libretro-Admin committed
120
121
122
android-x86_64:
  extends:
    - .libretro-android-jni-x86_64
Libretro-Admin's avatar
Libretro-Admin committed
123
124
125
    - .core-defs

# Android 32-bit x86
Libretro-Admin's avatar
Libretro-Admin committed
126
127
128
android-x86:
  extends:
    - .libretro-android-jni-x86
Libretro-Admin's avatar
Libretro-Admin committed
129
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
130

Libretro-Admin's avatar
Libretro-Admin committed
131
132
133
134
135
136
################################### CONSOLES #################################
# Nintendo GameCube
libretro-build-ngc:
  extends:
    - .libretro-ngc-static-retroarch-master
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
137

Libretro-Admin's avatar
Libretro-Admin committed
138
139
# Nintendo Wii
libretro-build-wii:
Libretro-Admin's avatar
Libretro-Admin committed
140
  extends:
Libretro-Admin's avatar
Libretro-Admin committed
141
    - .libretro-wii-static-retroarch-master
Libretro-Admin's avatar
Libretro-Admin committed
142
    - .core-defs
Libretro-Admin's avatar
Libretro-Admin committed
143
144
145
146
    
# PlayStation Vita
libretro-build-vita:
  extends:
Libretro-Admin's avatar
Libretro-Admin committed
147
    - .libretro-vita-static-retroarch-master
Libretro-Admin's avatar
Libretro-Admin committed
148
    - .core-defs