-
-
Notifications
You must be signed in to change notification settings - Fork 36
185 lines (153 loc) · 5.09 KB
/
build.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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
name: Build package
on:
push:
paths-ignore:
- "**/*.md"
- '**/*.txt'
pull_request:
paths-ignore:
- "**/*.md"
- '**/*.txt'
workflow_dispatch:
jobs:
build_pkg:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
- name: Set env vars
run: |
echo "llvm_ver=12.0" >> $GITHUB_ENV
echo "sha_name=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_ENV
echo "sdl_path=SDL-PS4" >> $GITHUB_ENV
echo "curl_path=oosdk_libraries/curl-7.64.1" >> $GITHUB_ENV
echo "OO_PS4_TOOLCHAIN=$GITHUB_WORKSPACE/OpenOrbis/PS4Toolchain" >> $GITHUB_ENV
echo "OO_SDK_URL=https://github.com/illusion0001/OpenOrbis-PS4-Toolchain/releases/latest/download/toolchain.tar.gz" >> $GITHUB_ENV
- name: Checkout oosdk_libraries
uses: actions/checkout@main
with:
repository: bucanero/oosdk_libraries
path: oosdk_libraries
# temporary release until 0.53 is released
- name: Download OpenOrbis Toolchain
run: curl -sL ${{ env.OO_SDK_URL }} | tar xz -C ./
- name: Copy makerules
run: cp oosdk_libraries/build_rules.mk OpenOrbis/PS4Toolchain/build_rules.mk
- name: Checkout dbglogger
uses: actions/checkout@main
with:
repository: bucanero/dbglogger
path: dbglogger
- name: Checkout SQLite
uses: actions/checkout@main
with:
repository: bucanero/libSQLite-ps4
path: libSQLite-ps4
- name: Checkout SDL-PS4
uses: actions/checkout@main
with:
repository: bucanero/SDL-PS4
path: ${{ env.sdl_path }}
ref: ps4
- name: Checkout mxml
uses: actions/checkout@main
with:
repository: bucanero/mxml
path: mxml
- name: Checkout cJSON
uses: actions/checkout@main
with:
repository: bucanero/cJSON
path: cJSON
- name: Checkout libjbc
uses: actions/checkout@main
with:
repository: bucanero/ps4-libjbc
path: ps4-libjbc
- name: Checkout Cheat repository
uses: actions/checkout@main
with:
repository: GoldHEN/GoldHEN_Cheat_Repository
path: cheats
- name: Cache LLVM and Clang
id: cache-llvm
uses: actions/cache@main
with:
path: ./llvm
key: llvm-${{ env.llvm_ver }}
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
with:
version: ${{ env.llvm_ver }}
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
- name: Install zlib
working-directory: oosdk_libraries/zlib_partial
run: make install
- name: Install polarssl
working-directory: oosdk_libraries/polarssl-1.3.9
run: make install
- name: Install SQLite
working-directory: libSQLite-ps4
run: make install
- name: Install dbglogger
working-directory: dbglogger
run: make -f Makefile.PS4 install
- name: Install mini xml
working-directory: mxml/ps4
run: make install
- name: Install cjson
working-directory: cJSON/ps4
run: make install
- name: Install libjbc
working-directory: ps4-libjbc
run: make install
- name: Cache SDL2
id: cache-sdl2
uses: actions/cache@main
with:
path: ${{ env.sdl_path }}/orbis/libSDL2.a
key: ${{ runner.os }}-sdl2
- name: Install SDL2 library
if: steps.cache-sdl2.outputs.cache-hit != 'true'
working-directory: ${{ env.sdl_path }}
run: |
mkdir orbis && cd orbis
cmake --toolchain ../cmake/openorbis.cmake ..
make
- name: Cache curl
id: cache-curl
uses: actions/cache@main
with:
path: ${{ env.curl_path }}/orbis/lib/libcurl.a
key: ${{ runner.os }}-curl
- name: Install libcurl library
if: steps.cache-curl.outputs.cache-hit != 'true'
working-directory: ${{ env.curl_path }}
run: |
mkdir orbis && cd orbis
cmake --toolchain ../../../SDL-PS4/cmake/openorbis.cmake .. -DCMAKE_USE_POLARSSL=1 -DUSE_UNIX_SOCKETS=0 -DENABLE_THREADED_RESOLVER=0 -DENABLE_IPV6=0
make libcurl
- name: Copy lib
run: |
cp ${sdl_path}/orbis/libSDL2.a "${OO_PS4_TOOLCHAIN}/lib"
cp ${curl_path}/orbis/lib/libcurl.a "${OO_PS4_TOOLCHAIN}/lib"
cp -R ${curl_path}/include/curl "${OO_PS4_TOOLCHAIN}/include/"
- name: Add current cheats and patches data into Package
run: |
curl -sL https://github.com/illusion0001/PS4-PS5-Game-Patch/releases/latest/download/patch1.zip | busybox unzip - -q
make createzip
- name: Build Cheats Manager App Package
run: |
make
mv IV0000-CHTM00777_00-PS4CHEATSMANAGER.pkg cheatsmgr-build_${{ env.sha_name }}.pkg
- name: Push package artifact
uses: actions/upload-artifact@main
with:
name: cheatsmgr-build_${{ env.sha_name }}
path: cheatsmgr-build_${{ env.sha_name }}.pkg
if-no-files-found: error
- name: Push appdata artifact
uses: actions/upload-artifact@main
with:
name: appdata-build_${{ env.sha_name }}
path: assets/misc/appdata.zip