This commit is contained in:
DH 2025-04-09 22:14:51 +03:00
parent 4365718460
commit 919703472c
4 changed files with 81 additions and 63 deletions

View file

@ -31,25 +31,5 @@ if [ "$DEPLOY_APPIMAGE" = "true" ]; then
linuxdeploy --appimage-extract
./squashfs-root/plugins/linuxdeploy-plugin-appimage/usr/bin/appimagetool AppDir -g
APPIMAGE_SUFFIX="linux_${CPU_ARCH}"
if [ "$CPU_ARCH" = "x86_64" ]; then
# Preserve back compat. Previous versions never included the full arch.
APPIMAGE_SUFFIX="linux64"
fi
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ../rpcs3/rpcs3_version.cpp)
COMM_COUNT="$(git rev-list --count HEAD)"
COMM_HASH="$(git rev-parse --short=8 HEAD)"
RPCS3_APPIMAGE="rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_${APPIMAGE_SUFFIX}.AppImage"
mv ./RPCS3*.AppImage "$RPCS3_APPIMAGE"
# If we're building using a CI, let's copy over the AppImage artifact
if [ -n "$BUILD_ARTIFACTSTAGINGDIRECTORY" ]; then
cp "$RPCS3_APPIMAGE" "$ARTDIR"
fi
FILESIZE=$(stat -c %s ./rpcs3*.AppImage)
SHA256SUM=$(sha256sum ./rpcs3*.AppImage | awk '{ print $1 }')
echo "${SHA256SUM};${FILESIZE}B" > "$RELEASE_MESSAGE"
mv ./*.AppImage ../RPCS3-Qt-UI.AppImage
fi

View file

@ -3,31 +3,17 @@
# First let's see print some info about our caches
"$(cygpath -u "$CCACHE_BIN_DIR")"/ccache.exe --show-stats -v
# BUILD_blablabla is Azure specific, so we wrap it for portability
ARTIFACT_DIR="$BUILD_ARTIFACTSTAGINGDIRECTORY"
# Remove unecessary files
rm -f ./rpcs3/bin/rpcs3.exp ./rpcs3/bin/rpcs3.lib ./rpcs3/bin/rpcs3.pdb ./rpcs3/bin/vc_redist.x64.exe
rm -rf ./rpcs3/bin/git
# Prepare compatibility and SDL database for packaging
mkdir ./rpcs3/bin/config
mkdir ./rpcs3/bin/config/input_configs
mkdir -p ./rpcs3/bin/config/input_configs
curl -fsSL 'https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt' 1> ./rpcs3/bin/config/input_configs/gamecontrollerdb.txt
curl -fsSL 'https://rpcs3.net/compatibility?api=v1&export' | iconv -t UTF-8 1> ./rpcs3/bin/GuiConfigs/compat_database.dat
cp -rf ./build-msvc/bin/ ./rpcs3/bin/
# Download SSL certificate (not needed with CURLSSLOPT_NATIVE_CA)
#curl -fsSL 'https://curl.haxx.se/ca/cacert.pem' 1> ./bin/cacert.pem
# Package artifacts
7z a -m0=LZMA2 -mx9 "$BUILD" ./rpcs3/bin/*
# Generate sha256 hashes
# Write to file for GitHub releases
sha256sum "$BUILD" | awk '{ print $1 }' | tee "$BUILD.sha256"
echo "$(cat "$BUILD.sha256");$(stat -c %s "$BUILD")B" > GitHubReleaseMessage.txt
# Move files to publishing directory
cp -- "$BUILD" "$ARTIFACT_DIR"
cp -- "$BUILD.sha256" "$ARTIFACT_DIR"
cp -- "$BUILD" ./RPCS3-Qt-UI.7z

View file

@ -1,4 +1,4 @@
name: Build RPCS3
name: Build RPCS3 Qt UI (Legacy)
defaults:
run:
@ -36,7 +36,7 @@ jobs:
docker_img: "rpcs3/rpcs3-ci-jammy-aarch64:1.4"
build_sh: "rpcs3/.ci/build-linux-aarch64.sh"
compiler: clang
name: RPCS3 QT UI for Linux ${{ matrix.os }} ${{ matrix.compiler }}
name: RPCS3 Qt UI (Legacy) for Linux ${{ matrix.os }} ${{ matrix.compiler }}
runs-on: ${{ matrix.os }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
@ -46,6 +46,8 @@ jobs:
ARTDIR: "/root/artifacts"
RELEASE_MESSAGE: "/rpcs3/GitHubReleaseMessage.txt"
COMPILER: ${{ matrix.compiler }}
RX_VERSION: "Unknown"
RX_SHA: "Unknown"
steps:
- name: Checkout repository
uses: actions/checkout@main
@ -71,15 +73,38 @@ jobs:
${{ matrix.docker_img }} \
${{ matrix.build_sh }}
RX_VERSION=`cat .rx.version | awk -F'-' '{print $1}'`
RX_SHA=`cat .rx.version | awk -F'-' '{print $5}'`
echo "RX_VERSION=$RX_VERSION" >> "${{ github.env }}"
echo "RX_SHA=$RX_SHA" >> "${{ github.env }}"
mv RPCS3-Qt-UI.AppImage RPCS3-Qt-UI-Linux-${{ runner.arch }}-${{ matrix.compiler }}.AppImage
- name: Upload artifacts
uses: actions/upload-artifact@main
with:
name: RPCS3 QT UI for Linux (${{ runner.arch }}, ${{ matrix.compiler }})
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}/*.AppImage
name: RPCS3 Qt UI (Legacy) for Linux (${{ runner.arch }}, ${{ matrix.compiler }})
path: RPCS3-Qt-UI-Linux-${{ runner.arch }}-${{ matrix.compiler }}.AppImage
compression-level: 0
- name: Deploy build
uses: softprops/action-gh-release@v2
if: |
github.event_name != 'pull_request' &&
github.ref == 'refs/heads/master' &&
github.repository == 'RPCSX/rpcsx'
with:
prerelease: false
make_latest: true
repository: RPCSX/rpcsx-build
token: ${{ secrets.BUILD_TOKEN }}
tag_name: v${{ env.RX_VERSION }}-${{ env.RX_SHA }}
files: RPCS3-Qt-UI-Linux-${{ runner.arch }}-${{ matrix.compiler }}.AppImage
body: ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}
Windows_Build:
name: RPCS3 QT UI Windows
name: RPCS3 Qt UI (Legacy) for Windows
runs-on: windows-2025
env:
COMPILER: msvc
@ -96,8 +121,8 @@ jobs:
CCACHE_INODECACHE: 'true'
CCACHE_SLOPPINESS: 'time_macros'
DEPS_CACHE_DIR: ./dependency_cache
steps:
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
@ -108,22 +133,22 @@ jobs:
echo "QTDIR=C:\Qt\${{ env.QT_VER }}\${{ env.QT_VER_MSVC }}_64" >> ${{ github.env }}
echo "VULKAN_SDK=C:\VulkanSDK\${{ env.VULKAN_VER }}" >> ${{ github.env }}
- name: Get Cache Keys
run: .ci/get_keys-windows.sh
# - name: Get Cache Keys
# run: .ci/get_keys-windows.sh
- name: Setup Build Ccache
uses: actions/cache@main
with:
path: ${{ env.CCACHE_DIR }}
key: "${{ runner.os }}-ccache-${{ env.COMPILER }}-${{github.run_id}}"
restore-keys: ${{ runner.os }}-ccache-${{ env.COMPILER }}-
# - name: Setup Build Ccache
# uses: actions/cache@main
# with:
# path: ${{ env.CCACHE_DIR }}
# key: "${{ runner.os }}-ccache-${{ env.COMPILER }}-${{github.run_id}}"
# restore-keys: ${{ runner.os }}-ccache-${{ env.COMPILER }}-
- name: Setup Dependencies Cache
uses: actions/cache@main
with:
path: ${{ env.DEPS_CACHE_DIR }}
key: "${{ runner.os }}-${{ env.COMPILER }}-${{ env.QT_VER }}-${{ env.VULKAN_SDK_SHA }}-${{ env.CCACHE_SHA }}-${{ hashFiles('llvm.lock') }}-${{ hashFiles('glslang.lock') }}"
restore-keys: ${{ runner.os }}-${{ env.COMPILER }}-
# - name: Setup Dependencies Cache
# uses: actions/cache@main
# with:
# path: ${{ env.DEPS_CACHE_DIR }}
# key: "${{ runner.os }}-${{ env.COMPILER }}-${{ env.QT_VER }}-${{ env.VULKAN_SDK_SHA }}-${{ env.CCACHE_SHA }}-${{ hashFiles('llvm.lock') }}-${{ hashFiles('glslang.lock') }}"
# restore-keys: ${{ runner.os }}-${{ env.COMPILER }}-
- name: Download and unpack dependencies
run: .ci/setup-windows.sh
@ -136,23 +161,50 @@ jobs:
echo "$key=$val" >> "${{ github.env }}"
done < .ci/ci-vars.env
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@main
# - name: Add msbuild to PATH
# uses: microsoft/setup-msbuild@main
- name: Compile RPCS3 QT UI
- name: Configure
run: |
cmake -B build-msvc -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DWITH_RPCSX=off -DWITH_RPCS3=on -DWITH_RPCS3_QT_UI=on -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DCMAKE_INSTALL_PREFIX="${sourceDir}/out/install/${presetName}" -DUSE_NATIVE_INSTRUCTIONS=on -DUSE_PRECOMPILED_HEADERS=on -DUSE_FAUDIO=off -DUSE_SYSTEM_CURL=off -DUSE_SYSTEM_ZLIB=off -DUSE_SYSTEM_OPENAL=off -DUSE_SYSTEM_OPENCV=off -DBUILD_LLVM=on -DSTATIC_LINK_LLVM=on
- name: Export Version
run: |
RX_VERSION=`cat .rx.version | awk -F'-' '{print $1}'`
RX_SHA=`cat .rx.version | awk -F'-' '{print $5}'`
echo "RX_VERSION=$RX_VERSION" >> "${{ github.env }}"
echo "RX_SHA=$RX_SHA" >> "${{ github.env }}"
- name: Build
run: |
cmake --build build-msvc --config Release
- name: Pack up build artifacts
run: |
mkdir -p "${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}"
.ci/deploy-windows.sh
mv RPCS3-Qt-UI.7z RPCS3-Qt-UI-Windows-${{ runner.arch }}-${{ env.COMPILER }}.7z
- name: Upload artifacts (7z)
uses: actions/upload-artifact@main
with:
name: RPCS3 QT UI for Windows (MSVC)
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}
name: RPCS3 Qt UI (Legacy) for Windows (MSVC)
path: RPCS3-Qt-UI-Windows-${{ runner.arch }}-${{ env.COMPILER }}.7z
compression-level: 0
if-no-files-found: error
- name: Deploy build
uses: softprops/action-gh-release@v2
if: |
github.event_name != 'pull_request' &&
github.ref == 'refs/heads/master' &&
github.repository == 'RPCSX/rpcsx'
with:
prerelease: false
make_latest: true
repository: RPCSX/rpcsx-build
token: ${{ secrets.BUILD_TOKEN }}
tag_name: v${{ env.RX_VERSION }}-${{ env.RX_SHA }}
files: RPCS3-Qt-UI-Windows-${{ runner.arch }}-${{ env.COMPILER }}.7z
body: ${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}

View file

@ -54,4 +54,4 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE
)
file(WRITE "${CMAKE_SOURCE_DIR}/.rx.version" "${GIT_DATE}-${RX_TAG}-${RX_TAG_VERSION}-${GIT_BRANCH}-0x${GIT_REV}-${GIT_DIRTY}")
file(WRITE "${CMAKE_SOURCE_DIR}/.rx.version" "${GIT_DATE}-${RX_TAG}-${RX_TAG_VERSION}-${GIT_BRANCH}-${GIT_REV}-${GIT_DIRTY}")