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
|
||||
|
||||
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:
|
||||
name: "AppImage"
|
||||
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
|
||||
run: |
|
||||
QT_BUILD=$([ "${{ inputs.gui }}" == "Qt" ] && echo "ON" || echo "OFF")
|
||||
cmake -DCMAKE_PREFIX_PATH="$HOME/deps" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DQT_BUILD="$QT_BUILD" \
|
||||
-DUSE_OPENGL=OFF \
|
||||
-DDISABLE_ADVANCE_SIMD=ON \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||
|
|
|
@ -9,13 +9,6 @@ on:
|
|||
- master
|
||||
|
||||
jobs:
|
||||
build_macos_wx:
|
||||
name: "Defaults"
|
||||
uses: ./.github/workflows/macos_build.yml
|
||||
with:
|
||||
jobName: "wxWidgets"
|
||||
gui: "wxWidgets"
|
||||
secrets: inherit
|
||||
build_macos_qt:
|
||||
name: "Defaults"
|
||||
uses: ./.github/workflows/macos_build.yml
|
||||
|
|
|
@ -8,17 +8,6 @@ on:
|
|||
jobs:
|
||||
# Build Everything
|
||||
# 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:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
name: "Linux - AppImage SSE4"
|
||||
|
@ -45,25 +34,6 @@ jobs:
|
|||
secrets: inherit
|
||||
|
||||
# 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:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
name: "Windows - SSE4"
|
||||
|
@ -84,15 +54,6 @@ jobs:
|
|||
secrets: inherit
|
||||
|
||||
# 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:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
name: "MacOS"
|
||||
|
@ -106,14 +67,10 @@ jobs:
|
|||
upload_artifacts:
|
||||
if: github.repository == 'PCSX2/pcsx2'
|
||||
needs:
|
||||
- build_gcc_lto
|
||||
- build_linux_qt_sse4
|
||||
- build_linux_qt_avx2
|
||||
- build_wx_sse4
|
||||
- build_wx_avx2
|
||||
- build_qt_sse4
|
||||
- build_qt_avx2
|
||||
- build_macos_wx
|
||||
- build_macos_qt
|
||||
name: "Upload Artifacts"
|
||||
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..."
|
||||
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.
|
||||
echo "Patching RPATH in ${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,10 +23,7 @@ for dir_name in os.listdir(scan_dir):
|
|||
elif "sse4" in dir_name.lower():
|
||||
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():
|
||||
asset_name += "-symbols"
|
||||
|
|
|
@ -19,25 +19,6 @@ jobs:
|
|||
- name: Verify VS Project Files
|
||||
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:
|
||||
needs: lint_vs_proj_files
|
||||
name: "SSE4"
|
||||
|
@ -57,16 +38,6 @@ jobs:
|
|||
configuration: Release AVX2
|
||||
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:
|
||||
name: "CMake SSE4"
|
||||
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