Add option to disable/enable cheat files #513
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |