forked from libretro/flycast
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
93 lines (85 loc) · 2.85 KB
/
.gitlab-ci.yml
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
variables:
STATIC_RETROARCH_BRANCH: master
include:
template: Jobs/Code-Quality.gitlab-ci.yml
code_quality:
artifacts:
paths: [gl-code-quality-report.json]
stages:
- build-prepare
- build-shared
- fetch-dependencies
- build-static
- test
libretro-rebase-upstream-auto:
image: $CI_SERVER_HOST:4567/libretro/infrastructure/libretro-build-amd64-ubuntu:latest
stage: build-prepare
before_script:
- url_host=`git remote get-url origin | sed -e "s/https:\/\/gitlab-ci-token:.*@//g"`
script:
- git config user.name $GIT_ACCESS_USER
- git config user.email $GIT_ACCESS_EMAIL
- git fetch origin
- git reset --hard
- git clean -fd
- git checkout $CI_COMMIT_REF_NAME
- git reset --hard origin/$CI_COMMIT_REF_NAME
- git remote set-url origin "https://$GIT_ACCESS_USER:$GIT_ACCESS_TOKEN@${url_host}"
- git remote add upstream "https://github.com/libretro/flycast.git"
- git fetch upstream
- git rebase upstream/master
- git push origin ${CI_BUILD_REF_NAME} --force || true
only: [chat]
libretro-build-linux-x64:
image: $CI_SERVER_HOST:4567/libretro/infrastructure/libretro-build-amd64-ubuntu:latest
stage: build-shared
allow_failure: true
script:
- make -j10 HAVE_OIT=1
artifacts:
paths:
- flycast_libretro.so
expire_in: 1 month
dependencies: []
libretro-build-windows-x64:
image: $CI_SERVER_HOST:4567/libretro/infrastructure/libretro-build-amd64-ubuntu:latest
stage: build-shared
allow_failure: true
script:
- make -j10 platform=win64 HAVE_OIT=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++
artifacts:
paths:
- flycast_libretro.dll
expire_in: 1 month
dependencies: []
libretro-fetch-static-libnx-dependencies-aarch64:
image: $CI_SERVER_HOST:4567/libretro/infrastructure/libretro-build-libnx-devkitpro:latest
stage: fetch-dependencies
allow_failure: true
script:
- wget -O retroarch-precompiled.zip "https://$CI_SERVER_HOST/libretro/RetroArch/-/jobs/artifacts/$STATIC_RETROARCH_BRANCH/download?job=build-static-retroarch-libnx-aarch64"
- unzip retroarch-precompiled.zip
- rm -f retroarch-precompiled.zip
artifacts:
paths:
- retroarch-precompiled/
expire_in: 20 min
libretro-build-static-libnx-aarch64:
image: $CI_SERVER_HOST:4567/libretro/infrastructure/libretro-build-libnx-devkitpro:latest
stage: build-static
allow_failure: true
script:
- make -j10 platform=libnx
- mv flycast_libretro_libnx.a retroarch-precompiled/libretro_libnx.a
- cd retroarch-precompiled/
- make -f Makefile.libnx -j10
- mv retroarch_switch.nro ../flycast_libretro_libnx.nro
- mv retroarch_switch.elf ../flycast_libretro_libnx.elf
- cd ../
dependencies:
- :libretro-fetch-static-libnx-dependencies-aarch64
artifacts:
paths:
- flycast_libretro_libnx.nro
- flycast_libretro_libnx.elf
expire_in: 1 month