summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 3a65cf94678bae3c9d51144537613c5796a0e513 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)

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

# Core definitions
.core-defs:
  variables:
    JNI_PATH: .
    CORENAME: snes9x2002

# Inclusion templates, required for the build to work
include:
  ################################## DESKTOPS ################################
  # Windows 64-bit
  - project: 'libretro-infrastructure/ci-templates'
    file: '/windows-x64-mingw.yml'

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

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

  ################################## CELLULAR ################################
  # Android
  - project: 'libretro-infrastructure/ci-templates'
    file: '/android-jni.yml'

  ################################## CONSOLES ################################
  # PlayStation Vita
  - project: 'libretro-infrastructure/ci-templates'
    file: '/vita-static.yml'

  # Nintendo GameCube
  - project: 'libretro-infrastructure/ci-templates'
    file: '/ngc-static.yml'

  # Nintendo Wii
  - project: 'libretro-infrastructure/ci-templates'
    file: '/wii-static.yml'

# Stages for building
stages:
  - build-prepare
  - build-shared
  - build-static

##############################################################################
#################################### STAGES ##################################
##############################################################################
#
################################### DESKTOPS #################################
# Windows 64-bit
libretro-build-windows-x64:
  extends:
    - .libretro-windows-x64-mingw-make-default
    - .core-defs

# Linux 64-bit
libretro-build-linux-x64:
  extends:
    - .libretro-linux-x64-make-default
    - .core-defs
    
# MacOS 64-bit
libretro-build-osx-x64:
  extends:
    - .libretro-osx-x64-make-default
    - .core-defs

################################### CELLULAR #################################
# Android ARMv7a
android-armeabi-v7a:
  extends:
    - .libretro-android-jni-armeabi-v7a
    - .core-defs

# Android ARMv8a
android-arm64-v8a:
  extends:
    - .libretro-android-jni-arm64-v8a
    - .core-defs

# Android 64-bit x86
android-x86_64:
  extends:
    - .libretro-android-jni-x86_64
    - .core-defs
    
# Android 32-bit x86
android-x86:
  extends:
    - .libretro-android-jni-x86
    - .core-defs

################################### CONSOLES #################################
# PlayStation Vita
libretro-build-vita:
  extends:
    - .libretro-vita-static-retroarch-master
    - .core-defs

# Nintendo GameCube
libretro-build-ngc:
  extends:
    - .libretro-ngc-static-retroarch-master
    - .core-defs

# Nintendo Wii
libretro-build-wii:
  extends:
    - .libretro-wii-static-retroarch-master
    - .core-defs