mirror of https://github.com/PCSX2/pcsx2.git
CI: Remove wx builds
This commit is contained in:
parent
da2efd88f2
commit
7cb22815e6
|
@ -9,47 +9,6 @@ on:
|
||||||
- master
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_gcc_lto:
|
|
||||||
name: "GCC"
|
|
||||||
uses: ./.github/workflows/linux_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: "with LTO"
|
|
||||||
compiler: gcc
|
|
||||||
cmakeflags: "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"
|
|
||||||
buildAppImage: true
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
# (PCH conflicts with ccache, fixed by https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4400)
|
|
||||||
build_gcc_nopch:
|
|
||||||
name: "GCC"
|
|
||||||
uses: ./.github/workflows/linux_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: "No PCH"
|
|
||||||
compiler: gcc
|
|
||||||
cmakeflags: "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON"
|
|
||||||
detail: " nopch"
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_gcc_nopch_avx2:
|
|
||||||
name: "GCC"
|
|
||||||
uses: ./.github/workflows/linux_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: "AVX2 and No PCH"
|
|
||||||
compiler: gcc
|
|
||||||
cmakeflags: "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON -DARCH_FLAG=-march=haswell"
|
|
||||||
detail: " avx2 nopch"
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_clang_nopch:
|
|
||||||
name: "Clang"
|
|
||||||
uses: ./.github/workflows/linux_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: "No PCH"
|
|
||||||
compiler: clang
|
|
||||||
cmakeflags: ""
|
|
||||||
detail: " nopch"
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_linux_qt_sse4:
|
build_linux_qt_sse4:
|
||||||
name: "AppImage"
|
name: "AppImage"
|
||||||
uses: ./.github/workflows/linux_build_qt.yml
|
uses: ./.github/workflows/linux_build_qt.yml
|
||||||
|
|
|
@ -1,152 +0,0 @@
|
||||||
name: Linux Build Steps
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
jobName:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
os:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: ubuntu-20.04
|
|
||||||
platform:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: x64
|
|
||||||
compiler:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
cmakeflags:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
buildAppImage:
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
detail:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
cheats_url:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: https://github.com/PCSX2/pcsx2_patches/releases/latest/download
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_linux:
|
|
||||||
name: ${{ inputs.jobName }}
|
|
||||||
runs-on: ${{ inputs.os }}
|
|
||||||
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
|
|
||||||
timeout-minutes: 60
|
|
||||||
env:
|
|
||||||
CCACHE_BASEDIR: ${{ github.workspace }}
|
|
||||||
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
|
||||||
CCACHE_COMPRESS: true
|
|
||||||
CCACHE_COMPRESSLEVEL: 9
|
|
||||||
CCACHE_MAXSIZE: 100M
|
|
||||||
SDL: SDL2-2.26.0
|
|
||||||
PATCHELF_VERSION: 0.12
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Prepare Artifact Metadata
|
|
||||||
id: artifact-metadata
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
OS: linux
|
|
||||||
GUI_FRAMEWORK: wxWidgets
|
|
||||||
ARCH: ${{ inputs.platform }}
|
|
||||||
SIMD: ''
|
|
||||||
EVENT_NAME: ${{ github.event_name }}
|
|
||||||
PR_TITLE: ${{ github.event.pull_request.title }}
|
|
||||||
PR_NUM: ${{ github.event.pull_request.number }}
|
|
||||||
PR_SHA: ${{ github.event.pull_request.head.sha }}
|
|
||||||
run: ./.github/workflows/scripts/common/name-artifacts.sh
|
|
||||||
|
|
||||||
# -- SETUP CCACHE - https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/
|
|
||||||
- name: Prepare ccache timestamp
|
|
||||||
id: ccache_cache_timestamp
|
|
||||||
run: echo "timestamp=$(date -u "+%Y-%m-%d-%H;%M;%S")" >> $GITHUB_OUTPUT
|
|
||||||
|
|
||||||
- name: ccache cache files
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: .ccache
|
|
||||||
key: ${{ inputs.os }} ${{ inputs.platform }} ${{ inputs.compiler }}${{ inputs.detail }} ccache ${{ steps.ccache_cache_timestamp.outputs.timestamp }}
|
|
||||||
restore-keys: ${{ inputs.os }} ${{ inputs.platform }} ${{ inputs.compiler }}${{ inputs.detail }} ccache
|
|
||||||
|
|
||||||
- name: Install Packages
|
|
||||||
env:
|
|
||||||
PLATFORM: ${{ inputs.platform }}
|
|
||||||
COMPILER: ${{ inputs.compiler }}
|
|
||||||
run: .github/workflows/scripts/linux/install-packages.sh
|
|
||||||
|
|
||||||
- name: Cache Dependencies
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
3rdparty/${{ env.SDL }}
|
|
||||||
3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
|
|
||||||
key: ${{ inputs.os }} ${{ inputs.platform }} ${{ env.SDL }} patchelf-${{ env.PATCHELF_VERSION }}
|
|
||||||
|
|
||||||
- name: Build Dependencies
|
|
||||||
run: |
|
|
||||||
if [[ ! -e 3rdparty/patchelf-${{ env.PATCHELF_VERSION }} ]]; then
|
|
||||||
curl -sSfL https://github.com/NixOS/patchelf/releases/download/${{ env.PATCHELF_VERSION }}/patchelf-${{ env.PATCHELF_VERSION }}.tar.bz2 | tar -xjC 3rdparty
|
|
||||||
mv 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}* 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
|
|
||||||
cd 3rdparty/patchelf-${{ env.PATCHELF_VERSION }}
|
|
||||||
./configure
|
|
||||||
make && cd ../../
|
|
||||||
fi
|
|
||||||
sudo make -C 3rdparty/patchelf-${{ env.PATCHELF_VERSION }} install
|
|
||||||
if [[ ! -e 3rdparty/${{ env.SDL }} ]]; then
|
|
||||||
curl -sL https://libsdl.org/release/${{ env.SDL }}.tar.gz | tar -xzC 3rdparty
|
|
||||||
cd 3rdparty/${{ env.SDL }}
|
|
||||||
if [ "${{ inputs.platform }}" == "x86" ]; then
|
|
||||||
./configure --build=i686-pc-linux-gnu CC=${{ inputs.compiler }} CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 --prefix=/usr --libdir=/usr/lib/i386-linux-gnu
|
|
||||||
else
|
|
||||||
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
|
|
||||||
fi
|
|
||||||
make -j $(getconf _NPROCESSORS_ONLN) && cd ../../
|
|
||||||
fi
|
|
||||||
sudo make -C 3rdparty/${{ env.SDL }} install
|
|
||||||
|
|
||||||
- name: Download cheats
|
|
||||||
run: |
|
|
||||||
cd bin/resources
|
|
||||||
aria2c -Z "${{ inputs.cheats_url }}/cheats_ni.zip" "${{ inputs.cheats_url }}/cheats_ws.zip"
|
|
||||||
|
|
||||||
- name: Generate CMake
|
|
||||||
env:
|
|
||||||
PLATFORM: ${{ inputs.platform }}
|
|
||||||
COMPILER: ${{ inputs.compiler }}
|
|
||||||
ADDITIONAL_CMAKE_ARGS: ${{ inputs.cmakeflags }}
|
|
||||||
run: .github/workflows/scripts/linux/generate-cmake.sh
|
|
||||||
|
|
||||||
- name: Build PCSX2
|
|
||||||
working-directory: build
|
|
||||||
run: ../.github/workflows/scripts/linux/compile.sh
|
|
||||||
|
|
||||||
- name: Run Tests
|
|
||||||
working-directory: ./build
|
|
||||||
run: ninja unittests
|
|
||||||
|
|
||||||
- name: Package AppImage
|
|
||||||
if: inputs.buildAppImage == true
|
|
||||||
env:
|
|
||||||
PLATFORM: ${{ inputs.platform }}
|
|
||||||
COMPILER: ${{ inputs.compiler }}
|
|
||||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
|
||||||
run: .github/workflows/scripts/linux/appimage.sh
|
|
||||||
|
|
||||||
- name: Upload artifact
|
|
||||||
if: inputs.buildAppImage == true
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
|
||||||
path: ci-artifacts
|
|
|
@ -102,10 +102,8 @@ jobs:
|
||||||
|
|
||||||
- name: Generate CMake Files
|
- name: Generate CMake Files
|
||||||
run: |
|
run: |
|
||||||
QT_BUILD=$([ "${{ inputs.gui }}" == "Qt" ] && echo "ON" || echo "OFF")
|
|
||||||
cmake -DCMAKE_PREFIX_PATH="$HOME/deps" \
|
cmake -DCMAKE_PREFIX_PATH="$HOME/deps" \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DQT_BUILD="$QT_BUILD" \
|
|
||||||
-DUSE_OPENGL=OFF \
|
-DUSE_OPENGL=OFF \
|
||||||
-DDISABLE_ADVANCE_SIMD=ON \
|
-DDISABLE_ADVANCE_SIMD=ON \
|
||||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||||
|
|
|
@ -9,13 +9,6 @@ on:
|
||||||
- master
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_macos_wx:
|
|
||||||
name: "Defaults"
|
|
||||||
uses: ./.github/workflows/macos_build.yml
|
|
||||||
with:
|
|
||||||
jobName: "wxWidgets"
|
|
||||||
gui: "wxWidgets"
|
|
||||||
secrets: inherit
|
|
||||||
build_macos_qt:
|
build_macos_qt:
|
||||||
name: "Defaults"
|
name: "Defaults"
|
||||||
uses: ./.github/workflows/macos_build.yml
|
uses: ./.github/workflows/macos_build.yml
|
||||||
|
|
|
@ -8,17 +8,6 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
# Build Everything
|
# Build Everything
|
||||||
# Linux
|
# Linux
|
||||||
build_gcc_lto:
|
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
|
||||||
name: "Linux - AppImage"
|
|
||||||
uses: ./.github/workflows/linux_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: "wxWidgets"
|
|
||||||
compiler: gcc
|
|
||||||
cmakeflags: "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"
|
|
||||||
buildAppImage: true
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_linux_qt_sse4:
|
build_linux_qt_sse4:
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
if: github.repository == 'PCSX2/pcsx2'
|
||||||
name: "Linux - AppImage SSE4"
|
name: "Linux - AppImage SSE4"
|
||||||
|
@ -45,25 +34,6 @@ jobs:
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
# Windows
|
# Windows
|
||||||
build_wx_sse4:
|
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
|
||||||
name: "Windows - SSE4"
|
|
||||||
uses: ./.github/workflows/windows_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: wxWidgets
|
|
||||||
configuration: Release
|
|
||||||
simd: "SSE4"
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_wx_avx2:
|
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
|
||||||
name: "Windows - AVX2"
|
|
||||||
uses: ./.github/workflows/windows_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: wxWidgets
|
|
||||||
configuration: Release AVX2
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_qt_sse4:
|
build_qt_sse4:
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
if: github.repository == 'PCSX2/pcsx2'
|
||||||
name: "Windows - SSE4"
|
name: "Windows - SSE4"
|
||||||
|
@ -84,15 +54,6 @@ jobs:
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
# MacOS
|
# MacOS
|
||||||
build_macos_wx:
|
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
|
||||||
name: "MacOS"
|
|
||||||
uses: ./.github/workflows/macos_build.yml
|
|
||||||
with:
|
|
||||||
jobName: "wxWidgets"
|
|
||||||
gui: "wxWidgets"
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_macos_qt:
|
build_macos_qt:
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
if: github.repository == 'PCSX2/pcsx2'
|
||||||
name: "MacOS"
|
name: "MacOS"
|
||||||
|
@ -106,14 +67,10 @@ jobs:
|
||||||
upload_artifacts:
|
upload_artifacts:
|
||||||
if: github.repository == 'PCSX2/pcsx2'
|
if: github.repository == 'PCSX2/pcsx2'
|
||||||
needs:
|
needs:
|
||||||
- build_gcc_lto
|
|
||||||
- build_linux_qt_sse4
|
- build_linux_qt_sse4
|
||||||
- build_linux_qt_avx2
|
- build_linux_qt_avx2
|
||||||
- build_wx_sse4
|
|
||||||
- build_wx_avx2
|
|
||||||
- build_qt_sse4
|
- build_qt_sse4
|
||||||
- build_qt_avx2
|
- build_qt_avx2
|
||||||
- build_macos_wx
|
|
||||||
- build_macos_qt
|
- build_macos_qt
|
||||||
name: "Upload Artifacts"
|
name: "Upload Artifacts"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
$APPDIR/AppRun-patched "$@"
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
export LD_LIBRARY_PATH="$APPDIR/usr/lib:$LD_LIBRARY_PATH"
|
|
||||||
|
|
||||||
# use system wayland if available otherwise use the appimage provided wayland
|
|
||||||
if [[ $(ldconfig -p | grep libwayland-client | wc -l) -lt 1 ]]; then
|
|
||||||
export LD_LIBRARY_PATH="$APPDIR/usr/lib/wayland:$LD_LIBRARY_PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export BINARY_NAME=$(basename "$ARGV0")
|
|
||||||
if [[ ! -e "$PWD/$BINARY_NAME.config" ]]; then
|
|
||||||
mkdir "$PWD/$BINARY_NAME.config"
|
|
||||||
fi
|
|
||||||
export XDG_CONFIG_HOME="$PWD/$BINARY_NAME.config"
|
|
||||||
|
|
||||||
mkdir -p "$HOME"/.local/share/icons/hicolor/scalable/apps && cp "$APPDIR"/PCSX2.png "$HOME"/.local/share/icons/hicolor/scalable/apps
|
|
|
@ -205,9 +205,6 @@ mkdir -p "$OUTDIR/usr/bin" "$OUTDIR/usr/lib" "$OUTDIR/usr/lib/pulseaudio"
|
||||||
echo "Copying binary and resources..."
|
echo "Copying binary and resources..."
|
||||||
cp -a "$BINDIR/$BINARY" "$BINDIR/resources" "$OUTDIR/usr/bin"
|
cp -a "$BINDIR/$BINARY" "$BINDIR/resources" "$OUTDIR/usr/bin"
|
||||||
|
|
||||||
# Don't need old wx locales.
|
|
||||||
rm -fr "$OUTDIR/usr/bin/resources/locale"
|
|
||||||
|
|
||||||
# Patch RPATH so the binary goes hunting for shared libraries in the AppDir instead of system.
|
# Patch RPATH so the binary goes hunting for shared libraries in the AppDir instead of system.
|
||||||
echo "Patching RPATH in ${BINARY}..."
|
echo "Patching RPATH in ${BINARY}..."
|
||||||
patchelf --set-rpath '$ORIGIN/../lib' "$OUTDIR/usr/bin/$BINARY"
|
patchelf --set-rpath '$ORIGIN/../lib' "$OUTDIR/usr/bin/$BINARY"
|
||||||
|
|
|
@ -1,66 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
echo "${PLATFORM}"
|
|
||||||
if [ "${PLATFORM}" == "x86" ]; then
|
|
||||||
APPARCH="i686"
|
|
||||||
ARCH="i386"
|
|
||||||
LIBARCH="i386-linux-gnu"
|
|
||||||
else
|
|
||||||
APPARCH="x86_64"
|
|
||||||
ARCH="x86_64"
|
|
||||||
LIBARCH="x86_64-linux-gnu"
|
|
||||||
fi
|
|
||||||
cd /tmp
|
|
||||||
curl -sSfLO "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$ARCH.AppImage"
|
|
||||||
chmod a+x linuxdeploy*.AppImage
|
|
||||||
./linuxdeploy-"$ARCH".AppImage --appimage-extract
|
|
||||||
curl -sSfL "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh" -o /tmp/squashfs-root/usr/bin/linuxdeploy-plugin-gtk.sh
|
|
||||||
chmod a+x /tmp/squashfs-root/usr/bin/linuxdeploy-plugin-gtk.sh
|
|
||||||
mv /tmp/squashfs-root/usr/bin/patchelf /tmp/squashfs-root/usr/bin/patchelf.orig
|
|
||||||
sudo cp /usr/local/bin/patchelf /tmp/squashfs-root/usr/bin/patchelf
|
|
||||||
cd "$GITHUB_WORKSPACE"
|
|
||||||
ninja -C build install
|
|
||||||
cp ./pcsx2/gui/Resources/AppIcon64.png ./squashfs-root/PCSX2.png
|
|
||||||
cp ./linux_various/PCSX2.desktop.in ./squashfs-root/PCSX2.desktop
|
|
||||||
sed -i -e 's|Categories=@PCSX2_MENU_CATEGORIES@|Categories=Game;Emulator;|g' ./squashfs-root/PCSX2.desktop
|
|
||||||
sed -i -e 's|__GL_THREADED_OPTIMIZATIONS=1|__GL_THREADED_OPTIMIZATIONS=0|g' ./squashfs-root/PCSX2.desktop
|
|
||||||
curl -sSfL "https://github.com/AppImage/AppImageKit/releases/download/continuous/runtime-$APPARCH" -o ./squashfs-root/runtime
|
|
||||||
mkdir -p squashfs-root/usr/share/applications && cp ./squashfs-root/PCSX2.desktop ./squashfs-root/usr/share/applications
|
|
||||||
mkdir -p squashfs-root/usr/share/icons && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/icons
|
|
||||||
mkdir -p squashfs-root/usr/share/icons/hicolor/scalable/apps && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/icons/hicolor/scalable/apps
|
|
||||||
mkdir -p squashfs-root/usr/share/pixmaps && cp ./squashfs-root/PCSX2.png ./squashfs-root/usr/share/pixmaps
|
|
||||||
mkdir -p squashfs-root/usr/lib/
|
|
||||||
mkdir -p squashfs-root/usr/optional/libstdc++
|
|
||||||
mkdir -p squashfs-root/usr/optional/libgcc_s
|
|
||||||
cp ./.github/workflows/scripts/linux/AppRun "$GITHUB_WORKSPACE"/squashfs-root/AppRun
|
|
||||||
curl -sSfL "https://github.com/PCSX2/appimage-checkrt-branch/releases/download/AppImage-checkrt/AppRun_patched" -o "$GITHUB_WORKSPACE"/squashfs-root/AppRun-patched
|
|
||||||
curl -sSfL "https://github.com/PCSX2/appimage-checkrt-branch/releases/download/AppImage-checkrt/exec.so" -o "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/exec.so
|
|
||||||
chmod a+x ./squashfs-root/AppRun
|
|
||||||
chmod a+x ./squashfs-root/runtime
|
|
||||||
chmod a+x ./squashfs-root/AppRun-patched
|
|
||||||
chmod a+x ./squashfs-root/usr/optional/exec.so
|
|
||||||
echo "$name" > "$GITHUB_WORKSPACE"/squashfs-root/version.txt
|
|
||||||
mkdir -p "$GITHUB_WORKSPACE"/squashfs-root/apprun-hooks
|
|
||||||
cp /usr/lib/$LIBARCH/libthai.so.0 "$GITHUB_WORKSPACE"/squashfs-root/usr/lib/
|
|
||||||
cp --dereference /usr/lib/"$LIBARCH"/libstdc++.so.6 "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/libstdc++/libstdc++.so.6
|
|
||||||
cp --dereference /lib/"$LIBARCH"/libgcc_s.so.1 "$GITHUB_WORKSPACE"/squashfs-root/usr/optional/libgcc_s/libgcc_s.so.1
|
|
||||||
chmod +x .github/workflows/scripts/linux/app-variables.sh
|
|
||||||
cp .github/workflows/scripts/linux/app-variables.sh "$GITHUB_WORKSPACE"/squashfs-root/apprun-hooks
|
|
||||||
export UPD_INFO="gh-releases-zsync|PCSX2|pcsx2|latest|$name.AppImage.zsync"
|
|
||||||
/tmp/squashfs-root/AppRun --appdir="$GITHUB_WORKSPACE"/squashfs-root/ --plugin gtk -d "$GITHUB_WORKSPACE"/squashfs-root/PCSX2.desktop -i "$GITHUB_WORKSPACE"/squashfs-root/PCSX2.png
|
|
||||||
# see LD_LIBRARY_PATH in app-variables.sh - the intent is to use system wayland if available but fall back to app-image provided
|
|
||||||
# a little bit hacky but should ensure maximum compatibility
|
|
||||||
mkdir -p squashfs-root/usr/lib/wayland
|
|
||||||
mv squashfs-root/usr/lib/libwayland-* squashfs-root/usr/lib/wayland
|
|
||||||
rm squashfs-root/usr/lib/libgmodule-2.0.so.0
|
|
||||||
curl -sSfL "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-$ARCH.AppImage" -o ./appimagetool-"$ARCH".AppImage
|
|
||||||
chmod a+x appimagetool*.AppImage
|
|
||||||
./appimagetool-"$ARCH".AppImage "$GITHUB_WORKSPACE"/squashfs-root "$name.AppImage"
|
|
||||||
mkdir -p "$GITHUB_WORKSPACE"/ci-artifacts/
|
|
||||||
ls -al .
|
|
||||||
mv "$name.AppImage" "$GITHUB_WORKSPACE"/ci-artifacts # && mv "$name.AppImage.zsync" "$GITHUB_WORKSPACE"/ci-artifacts
|
|
||||||
chmod -R 777 ./ci-artifacts
|
|
||||||
cd ./ci-artifacts
|
|
||||||
ls -al .
|
|
|
@ -1,33 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ "${COMPILER}" = "gcc" ]; then
|
|
||||||
export CC=gcc-10
|
|
||||||
export CXX=g++-10
|
|
||||||
else
|
|
||||||
export CC=clang
|
|
||||||
export CXX=clang++
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${PLATFORM}" = x86 ]; then
|
|
||||||
ADDITIONAL_CMAKE_ARGS="$ADDITIONAL_CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake"
|
|
||||||
fi
|
|
||||||
echo "Additional CMake Args - ${ADDITIONAL_CMAKE_ARGS}"
|
|
||||||
|
|
||||||
# Generate CMake into ./build
|
|
||||||
cmake \
|
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DPACKAGE_MODE=TRUE \
|
|
||||||
-DWAYLAND_API=TRUE \
|
|
||||||
-DDISABLE_ADVANCE_SIMD=TRUE \
|
|
||||||
-DDISABLE_PCSX2_WRAPPER=TRUE \
|
|
||||||
-DCMAKE_INSTALL_PREFIX="squashfs-root/usr/" \
|
|
||||||
-DOpenGL_GL_PREFERENCE="LEGACY" \
|
|
||||||
-DOPENGL_opengl_LIBRARY="" \
|
|
||||||
-DXDG_STD=TRUE \
|
|
||||||
-DUSE_SYSTEM_ZSTD=FALSE \
|
|
||||||
$ADDITIONAL_CMAKE_ARGS \
|
|
||||||
-GNinja \
|
|
||||||
-B build
|
|
|
@ -1,63 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Packages - Build Environment
|
|
||||||
declare -a BUILD_PACKAGES=(
|
|
||||||
"ccache"
|
|
||||||
"cmake"
|
|
||||||
"ninja-build"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Packages - PCSX2
|
|
||||||
declare -a PCSX2_PACKAGES=(
|
|
||||||
"libaio-dev"
|
|
||||||
"libasound2-dev"
|
|
||||||
"libbz2-dev"
|
|
||||||
"libegl1-mesa-dev"
|
|
||||||
"libgdk-pixbuf2.0-dev"
|
|
||||||
"libgl1-mesa-dev"
|
|
||||||
"libgtk-3-dev"
|
|
||||||
"libharfbuzz-dev"
|
|
||||||
"libjpeg-dev"
|
|
||||||
"liblzma-dev"
|
|
||||||
"libpcap0.8-dev"
|
|
||||||
"libpng-dev"
|
|
||||||
"libpulse-dev"
|
|
||||||
"librsvg2-dev"
|
|
||||||
"libsamplerate0-dev"
|
|
||||||
"libsoundtouch-dev"
|
|
||||||
"libudev-dev"
|
|
||||||
"libwxgtk3.0-gtk3-dev"
|
|
||||||
"libx11-xcb-dev"
|
|
||||||
"pkg-config"
|
|
||||||
"portaudio19-dev"
|
|
||||||
"zlib1g-dev"
|
|
||||||
)
|
|
||||||
|
|
||||||
if [ "${COMPILER}" = "gcc" ]; then
|
|
||||||
BUILD_PACKAGES+=("g++-10-multilib")
|
|
||||||
else
|
|
||||||
BUILD_PACKAGES+=("clang-9")
|
|
||||||
PCSX2_PACKAGES+=("libstdc++-10-dev")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# - https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md
|
|
||||||
ARCH=""
|
|
||||||
echo "${PLATFORM}"
|
|
||||||
if [ "${PLATFORM}" == "x86" ]; then
|
|
||||||
ARCH=":i386"
|
|
||||||
sudo dpkg --add-architecture i386
|
|
||||||
fi
|
|
||||||
|
|
||||||
sudo apt-get -qq update
|
|
||||||
|
|
||||||
# Install packages needed for building
|
|
||||||
echo "Will install the following packages for building - ${BUILD_PACKAGES[*]}"
|
|
||||||
#sudo apt remove gcc-9 g++-9
|
|
||||||
sudo apt-get -y install "${BUILD_PACKAGES[@]}"
|
|
||||||
|
|
||||||
# Install packages needed by pcsx2
|
|
||||||
PCSX2_PACKAGES=("${PCSX2_PACKAGES[@]/%/"${ARCH}"}")
|
|
||||||
echo "Will install the following packages for pcsx2 - ${PCSX2_PACKAGES[*]}"
|
|
||||||
sudo apt-get -y install "${PCSX2_PACKAGES[@]}"
|
|
|
@ -23,9 +23,6 @@ for dir_name in os.listdir(scan_dir):
|
||||||
elif "sse4" in dir_name.lower():
|
elif "sse4" in dir_name.lower():
|
||||||
asset_name += "-SSE4"
|
asset_name += "-SSE4"
|
||||||
|
|
||||||
if "wxwidgets" in dir_name.lower():
|
|
||||||
asset_name += "-wxWidgets"
|
|
||||||
else:
|
|
||||||
asset_name += "-Qt"
|
asset_name += "-Qt"
|
||||||
|
|
||||||
if "symbols" in dir_name.lower():
|
if "symbols" in dir_name.lower():
|
||||||
|
|
|
@ -19,25 +19,6 @@ jobs:
|
||||||
- name: Verify VS Project Files
|
- name: Verify VS Project Files
|
||||||
run: .github\workflows\scripts\windows\validate-vs-filters.ps1
|
run: .github\workflows\scripts\windows\validate-vs-filters.ps1
|
||||||
|
|
||||||
build_wx_sse4:
|
|
||||||
needs: lint_vs_proj_files
|
|
||||||
name: "SSE4"
|
|
||||||
uses: ./.github/workflows/windows_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: wxWidgets
|
|
||||||
configuration: Release
|
|
||||||
simd: "SSE4"
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_wx_avx2:
|
|
||||||
needs: lint_vs_proj_files
|
|
||||||
name: "AVX2"
|
|
||||||
uses: ./.github/workflows/windows_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: wxWidgets
|
|
||||||
configuration: Release AVX2
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_qt_sse4:
|
build_qt_sse4:
|
||||||
needs: lint_vs_proj_files
|
needs: lint_vs_proj_files
|
||||||
name: "SSE4"
|
name: "SSE4"
|
||||||
|
@ -57,16 +38,6 @@ jobs:
|
||||||
configuration: Release AVX2
|
configuration: Release AVX2
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
# CMAKE
|
|
||||||
build_wx_sse4_cmake:
|
|
||||||
name: "CMake SSE4"
|
|
||||||
uses: ./.github/workflows/windows_build_wx.yml
|
|
||||||
with:
|
|
||||||
jobName: wxWidgets
|
|
||||||
configuration: CMake
|
|
||||||
buildSystem: cmake
|
|
||||||
secrets: inherit
|
|
||||||
|
|
||||||
build_qt_sse4_cmake:
|
build_qt_sse4_cmake:
|
||||||
name: "CMake SSE4"
|
name: "CMake SSE4"
|
||||||
uses: ./.github/workflows/windows_build_qt.yml
|
uses: ./.github/workflows/windows_build_qt.yml
|
||||||
|
|
|
@ -1,119 +0,0 @@
|
||||||
name: Windows Build Steps - wxWidgets
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_call:
|
|
||||||
inputs:
|
|
||||||
jobName:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
os:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: windows-2022
|
|
||||||
platform:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: x64
|
|
||||||
simd:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: AVX2
|
|
||||||
buildSystem:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: msbuild
|
|
||||||
configuration:
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
cheats_url:
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
default: https://github.com/PCSX2/pcsx2_patches/releases/latest/download
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_windows_wx:
|
|
||||||
name: ${{ inputs.jobName }}
|
|
||||||
runs-on: ${{ inputs.os }}
|
|
||||||
# Set some sort of timeout in the event of run-away builds. We are limited on concurrent jobs so, get rid of them.
|
|
||||||
timeout-minutes: 60
|
|
||||||
env:
|
|
||||||
POWERSHELL_TELEMETRY_OPTOUT: 1
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: Prepare Artifact Metadata
|
|
||||||
id: artifact-metadata
|
|
||||||
shell: bash
|
|
||||||
env:
|
|
||||||
OS: windows
|
|
||||||
BUILD_SYSTEM: ${{ inputs.buildSystem }}
|
|
||||||
GUI_FRAMEWORK: wxWidgets
|
|
||||||
ARCH: ${{ inputs.platform }}
|
|
||||||
SIMD: ${{ inputs.simd }}
|
|
||||||
EVENT_NAME: ${{ github.event_name }}
|
|
||||||
PR_TITLE: ${{ github.event.pull_request.title }}
|
|
||||||
PR_NUM: ${{ github.event.pull_request.number }}
|
|
||||||
PR_SHA: ${{ github.event.pull_request.head.sha }}
|
|
||||||
run: ./.github/workflows/scripts/common/name-artifacts.sh
|
|
||||||
|
|
||||||
- name: Setup msbuild
|
|
||||||
if: inputs.configuration != 'CMake'
|
|
||||||
uses: microsoft/setup-msbuild@v1
|
|
||||||
|
|
||||||
- name: Download cheats
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
cd bin/resources
|
|
||||||
aria2c -Z "${{ inputs.cheats_url }}/cheats_ni.zip" "${{ inputs.cheats_url }}/cheats_ws.zip"
|
|
||||||
|
|
||||||
- name: Generate CMake
|
|
||||||
if: inputs.configuration == 'CMake'
|
|
||||||
id: cmake
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
if "${{ inputs.platform }}"=="Win32" (SET vcvars=vcvarsamd64_x86.bat) else (SET vcvars=vcvars64.bat)
|
|
||||||
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\%vcvars%"
|
|
||||||
echo vcvars=%vcvars%>> %GITHUB_OUTPUT%
|
|
||||||
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DDISABLE_ADVANCE_SIMD=ON -G Ninja
|
|
||||||
|
|
||||||
- name: Build PCSX2
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
if "${{ inputs.configuration }}"=="CMake" (
|
|
||||||
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\${{ steps.cmake.outputs.vcvars }}"
|
|
||||||
cmake --build build --config Release || exit /b
|
|
||||||
cp build/pcsx2/pcsx2* bin/
|
|
||||||
) else (
|
|
||||||
msbuild "PCSX2_suite.sln" /m /v:m /p:Configuration="${{ inputs.configuration }}" /p:Platform="${{ inputs.platform }}"
|
|
||||||
)
|
|
||||||
|
|
||||||
- name: Run Tests
|
|
||||||
if: inputs.configuration == 'CMake'
|
|
||||||
shell: cmd
|
|
||||||
run: |
|
|
||||||
call "%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\${{ steps.cmake.outputs.vcvars }}"
|
|
||||||
cmake --build build --config Release --target unittests
|
|
||||||
|
|
||||||
- name: Upload artifact
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
|
||||||
path: |
|
|
||||||
./bin
|
|
||||||
!./bin/**/*.bsc
|
|
||||||
!./bin/**/*.exp
|
|
||||||
!./bin/**/*.ilk
|
|
||||||
!./bin/**/*.iobj
|
|
||||||
!./bin/**/*.ipdb
|
|
||||||
!./bin/**/*.pdb
|
|
||||||
!./bin/**/*.lib
|
|
||||||
|
|
||||||
- name: Upload artifact - with symbols
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}-symbols
|
|
||||||
path: ./bin/**/*.pdb
|
|
Loading…
Reference in New Issue