forked from PrismLauncher/PrismLauncher
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'PrismLauncher:develop' into develop
- Loading branch information
Showing
533 changed files
with
14,654 additions
and
8,389 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -54,14 +54,17 @@ jobs: | |
include: | ||
- os: ubuntu-20.04 | ||
qt_ver: 5 | ||
qt_host: linux | ||
qt_arch: "" | ||
qt_version: "5.12.8" | ||
qt_modules: "qtnetworkauth" | ||
|
||
- os: ubuntu-20.04 | ||
qt_ver: 6 | ||
qt_host: linux | ||
qt_arch: "" | ||
qt_version: "6.2.4" | ||
qt_modules: "qt5compat qtimageformats" | ||
qt_tools: "" | ||
qt_modules: "qt5compat qtimageformats qtnetworkauth" | ||
|
||
- os: windows-2022 | ||
name: "Windows-MinGW-w64" | ||
|
@@ -75,10 +78,9 @@ jobs: | |
vcvars_arch: "amd64" | ||
qt_ver: 6 | ||
qt_host: windows | ||
qt_arch: '' | ||
qt_version: '6.7.0' | ||
qt_modules: 'qt5compat qtimageformats' | ||
qt_tools: '' | ||
qt_arch: "" | ||
qt_version: "6.7.2" | ||
qt_modules: "qt5compat qtimageformats qtnetworkauth" | ||
|
||
- os: windows-2022 | ||
name: "Windows-MSVC-arm64" | ||
|
@@ -87,29 +89,26 @@ jobs: | |
vcvars_arch: "amd64_arm64" | ||
qt_ver: 6 | ||
qt_host: windows | ||
qt_arch: 'win64_msvc2019_arm64' | ||
qt_version: '6.7.0' | ||
qt_modules: 'qt5compat qtimageformats' | ||
qt_tools: '' | ||
qt_arch: "win64_msvc2019_arm64" | ||
qt_version: "6.7.2" | ||
qt_modules: "qt5compat qtimageformats qtnetworkauth" | ||
|
||
- os: macos-12 | ||
- os: macos-14 | ||
name: macOS | ||
macosx_deployment_target: 11.0 | ||
qt_ver: 6 | ||
qt_host: mac | ||
qt_arch: '' | ||
qt_version: '6.7.0' | ||
qt_modules: 'qt5compat qtimageformats' | ||
qt_tools: '' | ||
qt_arch: "" | ||
qt_version: "6.7.2" | ||
qt_modules: "qt5compat qtimageformats qtnetworkauth" | ||
|
||
- os: macos-12 | ||
- os: macos-14 | ||
name: macOS-Legacy | ||
macosx_deployment_target: 10.13 | ||
qt_ver: 5 | ||
qt_host: mac | ||
qt_version: "5.15.2" | ||
qt_modules: "" | ||
qt_tools: "" | ||
qt_modules: "qtnetworkauth" | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
|
@@ -151,6 +150,7 @@ jobs: | |
quazip-qt6:p | ||
ccache:p | ||
qt6-5compat:p | ||
qt6-networkauth:p | ||
cmark:p | ||
- name: Force newer ccache | ||
|
@@ -160,7 +160,7 @@ jobs: | |
- name: Setup ccache | ||
if: (runner.os != 'Windows' || matrix.msystem == '') && inputs.build_type == 'Debug' | ||
uses: hendrikmuhs/[email protected].13 | ||
uses: hendrikmuhs/[email protected].14 | ||
with: | ||
key: ${{ matrix.os }}-qt${{ matrix.qt_ver }}-${{ matrix.architecture }} | ||
|
||
|
@@ -207,11 +207,6 @@ jobs: | |
brew update | ||
brew install ninja extra-cmake-modules | ||
- name: Install Qt (Linux) | ||
if: runner.os == 'Linux' && matrix.qt_ver != 6 | ||
run: | | ||
sudo apt-get -y install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5core5a libqt5network5 libqt5gui5 | ||
- name: Install host Qt (Windows MSVC arm64) | ||
if: runner.os == 'Windows' && matrix.architecture == 'arm64' | ||
uses: jurplel/install-qt-action@v3 | ||
|
@@ -223,20 +218,18 @@ jobs: | |
target: "desktop" | ||
arch: "" | ||
modules: ${{ matrix.qt_modules }} | ||
tools: ${{ matrix.qt_tools }} | ||
cache: ${{ inputs.is_qt_cached }} | ||
cache-key-prefix: host-qt-arm64-windows | ||
dir: ${{ github.workspace }}\HostQt | ||
set-env: false | ||
|
||
- name: Install Qt (macOS, Linux, Qt 6 & Windows MSVC) | ||
if: runner.os == 'Linux' && matrix.qt_ver == 6 || runner.os == 'macOS' || (runner.os == 'Windows' && matrix.msystem == '') | ||
- name: Install Qt (macOS, Linux & Windows MSVC) | ||
if: matrix.msystem == '' | ||
uses: jurplel/install-qt-action@v3 | ||
with: | ||
aqtversion: "==3.1.*" | ||
py7zrversion: ">=0.20.2" | ||
version: ${{ matrix.qt_version }} | ||
host: ${{ matrix.qt_host }} | ||
target: "desktop" | ||
arch: ${{ matrix.qt_arch }} | ||
modules: ${{ matrix.qt_modules }} | ||
|
@@ -266,30 +259,36 @@ jobs: | |
run: | | ||
echo "QT_HOST_PATH=${{ github.workspace }}\HostQt\Qt\${{ matrix.qt_version }}\msvc2019_64" >> $env:GITHUB_ENV | ||
- name: Setup java (macOS) | ||
if: runner.os == 'macOS' | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: "temurin" | ||
java-version: "17" | ||
## | ||
# CONFIGURE | ||
## | ||
|
||
- name: Configure CMake (macOS) | ||
if: runner.os == 'macOS' && matrix.qt_ver == 6 | ||
run: | | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -G Ninja | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -G Ninja | ||
- name: Configure CMake (macOS-Legacy) | ||
if: runner.os == 'macOS' && matrix.qt_ver == 5 | ||
run: | | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DMACOSX_SPARKLE_UPDATE_PUBLIC_KEY="" -DMACOSX_SPARKLE_UPDATE_FEED_URL="" -G Ninja | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DMACOSX_SPARKLE_UPDATE_PUBLIC_KEY="" -DMACOSX_SPARKLE_UPDATE_FEED_URL="" -DCMAKE_OSX_ARCHITECTURES="x86_64" -G Ninja | ||
- name: Configure CMake (Windows MinGW-w64) | ||
if: runner.os == 'Windows' && matrix.msystem != '' | ||
shell: msys2 {0} | ||
run: | | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=6 -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }} -G Ninja | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=6 -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }} -G Ninja | ||
- name: Configure CMake (Windows MSVC) | ||
if: runner.os == 'Windows' && matrix.msystem == '' | ||
run: | | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" -A${{ matrix.architecture}} -DLauncher_FORCE_BUNDLED_LIBS=ON -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }} | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" -A${{ matrix.architecture}} -DLauncher_FORCE_BUNDLED_LIBS=ON -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }} | ||
# https://github.com/ccache/ccache/wiki/MS-Visual-Studio (I coudn't figure out the compiler prefix) | ||
if ("${{ env.CCACHE_VAR }}") | ||
{ | ||
|
@@ -304,7 +303,7 @@ jobs: | |
- name: Configure CMake (Linux) | ||
if: runner.os == 'Linux' | ||
run: | | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DLauncher_BUILD_ARTIFACT=Linux-Qt${{ matrix.qt_ver }} -G Ninja | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DLauncher_BUILD_ARTIFACT=Linux-Qt${{ matrix.qt_ver }} -G Ninja | ||
## | ||
# BUILD | ||
|
@@ -432,12 +431,6 @@ jobs: | |
run: | | ||
cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build_type }} | ||
cd ${{ env.INSTALL_DIR }} | ||
if ("${{ matrix.qt_ver }}" -eq "5") | ||
{ | ||
Copy-Item ${{ runner.workspace }}/Qt/Tools/OpenSSL/Win_x86/bin/libcrypto-1_1.dll -Destination libcrypto-1_1.dll | ||
Copy-Item ${{ runner.workspace }}/Qt/Tools/OpenSSL/Win_x86/bin/libssl-1_1.dll -Destination libssl-1_1.dll | ||
} | ||
cd ${{ github.workspace }} | ||
Get-ChildItem ${{ env.INSTALL_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt | ||
|
@@ -490,28 +483,6 @@ jobs: | |
":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY | ||
} | ||
- name: Package (Linux) | ||
if: runner.os == 'Linux' | ||
run: | | ||
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_DIR }} | ||
for l in $(find ${{ env.INSTALL_DIR }} -type f); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_DIR }}/manifest.txt | ||
cd ${{ env.INSTALL_DIR }} | ||
tar --owner root --group root -czf ../PrismLauncher.tar.gz * | ||
- name: Package (Linux, portable) | ||
if: runner.os == 'Linux' | ||
run: | | ||
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} | ||
cmake --install ${{ env.BUILD_DIR }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable | ||
# workaround to make portable installs to work on fedora | ||
mkdir ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
cp /lib/x86_64-linux-gnu/libbz2.so.1.0 ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt | ||
cd ${{ env.INSTALL_PORTABLE_DIR }} | ||
tar -czf ../PrismLauncher-portable.tar.gz * | ||
- name: Package AppImage (Linux) | ||
if: runner.os == 'Linux' && matrix.qt_ver != 5 | ||
shell: bash | ||
|
@@ -558,6 +529,25 @@ jobs: | |
mv "PrismLauncher-Linux-x86_64.AppImage" "PrismLauncher-Linux-${{ env.VERSION }}-${{ inputs.build_type }}-x86_64.AppImage" | ||
- name: Package (Linux, portable) | ||
if: runner.os == 'Linux' | ||
run: | | ||
cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_PORTABLE_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DLauncher_BUILD_ARTIFACT=Linux-Qt${{ matrix.qt_ver }} -DINSTALL_BUNDLE=full -G Ninja | ||
cmake --install ${{ env.BUILD_DIR }} | ||
cmake --install ${{ env.BUILD_DIR }} --component portable | ||
mkdir ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
cp /lib/x86_64-linux-gnu/libbz2.so.1.0 ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
cp /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
cp /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
cp /usr/lib/x86_64-linux-gnu/libssl.so.1.1 ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
cp /usr/lib/x86_64-linux-gnu/libffi.so.7 ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
mv ${{ env.INSTALL_PORTABLE_DIR }}/bin/*.so* ${{ env.INSTALL_PORTABLE_DIR }}/lib | ||
for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt | ||
cd ${{ env.INSTALL_PORTABLE_DIR }} | ||
tar -czf ../PrismLauncher-portable.tar.gz * | ||
## | ||
# UPLOAD BUILDS | ||
## | ||
|
@@ -590,27 +580,13 @@ jobs: | |
name: PrismLauncher-${{ matrix.name }}-Setup-${{ env.VERSION }}-${{ inputs.build_type }} | ||
path: PrismLauncher-Setup.exe | ||
|
||
- name: Upload binary tarball (Linux, Qt 5) | ||
if: runner.os == 'Linux' && matrix.qt_ver != 6 | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: PrismLauncher-${{ runner.os }}-Qt5-${{ env.VERSION }}-${{ inputs.build_type }} | ||
path: PrismLauncher.tar.gz | ||
|
||
- name: Upload binary tarball (Linux, portable, Qt 5) | ||
if: runner.os == 'Linux' && matrix.qt_ver != 6 | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: PrismLauncher-${{ runner.os }}-Qt5-Portable-${{ env.VERSION }}-${{ inputs.build_type }} | ||
path: PrismLauncher-portable.tar.gz | ||
|
||
- name: Upload binary tarball (Linux, Qt 6) | ||
if: runner.os == 'Linux' && matrix.qt_ver !=5 | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: PrismLauncher-${{ runner.os }}-Qt6-${{ env.VERSION }}-${{ inputs.build_type }} | ||
path: PrismLauncher.tar.gz | ||
|
||
- name: Upload binary tarball (Linux, portable, Qt 6) | ||
if: runner.os == 'Linux' && matrix.qt_ver != 5 | ||
uses: actions/upload-artifact@v4 | ||
|
@@ -641,7 +617,7 @@ jobs: | |
flatpak: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: bilelmoussaoui/flatpak-github-actions:kde-5.15-23.08 | ||
image: bilelmoussaoui/flatpak-github-actions:kde-6.7 | ||
options: --privileged | ||
steps: | ||
- name: Checkout | ||
|
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
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
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
Oops, something went wrong.