mirror of
https://github.com/MeexReay/minceraftOS.git
synced 2025-06-24 02:22:59 +03:00
287 lines
10 KiB
YAML
287 lines
10 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ develop ]
|
|
pull_request:
|
|
branches: [ develop ]
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "0 0 1 * *"
|
|
|
|
jobs:
|
|
build-linux:
|
|
name: build-linux
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
with:
|
|
submodules: 'recursive'
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
|
|
sudo add-apt-repository 'deb http://dk.archive.ubuntu.com/ubuntu/ bionic main'
|
|
sudo add-apt-repository 'deb http://dk.archive.ubuntu.com/ubuntu/ bionic universe'
|
|
sudo apt update
|
|
sudo apt install libgl1-mesa-dev qttools5-dev g++-5 gcc-5
|
|
|
|
- name: Build
|
|
run: |
|
|
export JAVA_HOME=$JAVA_HOME_8_X64
|
|
mkdir build
|
|
cd build
|
|
cmake \
|
|
-DCMAKE_C_COMPILER=/usr/bin/gcc-5 \
|
|
-DCMAKE_CXX_COMPILER=/usr/bin/g++-5 \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DLauncher_NOTIFICATION_URL:STRING=https://files.multimc.org/notifications.json \
|
|
-DCMAKE_INSTALL_PREFIX:PATH=/home/runner/UltimMC/UltimMC \
|
|
-DLauncher_UPDATER_BASE=https://files.multimc.org/update/ \
|
|
-DLauncher_PASTE_EE_API_KEY:STRING=utLvciUouSURFzfjPxLBf5W4ISsUX4pwBDF7N1AfZ \
|
|
-DLauncher_ANALYTICS_ID:STRING=UA-87731965-2 \
|
|
-DLauncher_LAYOUT=lin-nodeps \
|
|
-DLauncher_BUILD_PLATFORM=lin64 \
|
|
-DLauncher_BUG_TRACKER_URL=https://github.com/UltimMC/Launcher/issues \
|
|
-DLauncher_EMBED_SECRETS=On \
|
|
$GITHUB_WORKSPACE
|
|
|
|
- name: Compile
|
|
run: |
|
|
cd build
|
|
make -j$(nproc)
|
|
|
|
- name: Test
|
|
run: |
|
|
cd build
|
|
make test
|
|
cmake -E remove_directory "/home/runner/UltimMC/UltimMC"
|
|
|
|
- name: Install
|
|
run: |
|
|
cd build
|
|
make install
|
|
chmod +x /home/runner/UltimMC/UltimMC/UltimMC
|
|
chmod +x /home/runner/UltimMC/UltimMC/bin/UltimMC
|
|
|
|
- name: Upload Artifacts
|
|
uses: actions/upload-artifact@main
|
|
with:
|
|
name: mmc-cracked-lin64
|
|
path: /home/runner/UltimMC
|
|
|
|
build-windows:
|
|
name: build-windows
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
with:
|
|
submodules: 'recursive'
|
|
|
|
- name: Cache Qt
|
|
uses: actions/cache@main
|
|
id: qt-cached
|
|
with:
|
|
path: "D:/Qt"
|
|
key: ${{ runner.os }}-qt56-installed-d
|
|
|
|
- name: Cache Qt Installer
|
|
uses: actions/cache@main
|
|
if: steps.qt-cached.outputs.cache-hit != 'true'
|
|
id: installer-cached
|
|
with:
|
|
path: "installer.exe"
|
|
key: ${{ runner.os }}-qt56-installer
|
|
|
|
- name: Create QtAccount File
|
|
if: steps.qt-cached.outputs.cache-hit != 'true'
|
|
run: |
|
|
mkdir C:/Users/runneradmin/AppData/Roaming/Qt/
|
|
curl https://gist.github.com/Neptune650/1086e0a3126be6a66580b71afcf8bd99/raw/797d8b90edf07ce88f265b38a573cc6b1fb45bfb/qtaccount.txt --output C:/Users/runneradmin/AppData/Roaming/Qt/qtaccount.ini
|
|
|
|
- name: Download Qt Installer
|
|
if: steps.installer-cached.outputs.cache-hit != 'true' && steps.qt-cached.outputs.cache-hit != 'true'
|
|
run: curl https://download.qt.io/new_archive/qt/5.6/5.6.3/qt-opensource-windows-x86-mingw492-5.6.3.exe --output installer.exe
|
|
|
|
- name: Download Qt non-Interactive Script
|
|
if: steps.qt-cached.outputs.cache-hit != 'true'
|
|
run: curl https://gist.githubusercontent.com/Neptune650/aa6c051abc17e7d9d609add7f6dfd16a/raw/074dedb7525c0ffc010b39871615b008c2efbcd6/qt-installer-noninteractive.qs --output nonInteractive.qs
|
|
|
|
- name: Install Qt
|
|
if: steps.qt-cached.outputs.cache-hit != 'true'
|
|
shell: cmd
|
|
run: installer.exe -v --script nonInteractive.qs --silent
|
|
|
|
- name: Setup CMake
|
|
run: |
|
|
curl -L https://github.com/Kitware/CMake/releases/download/v3.30.4/cmake-3.30.4-windows-i386.zip -o cmake.zip
|
|
unzip cmake.zip
|
|
|
|
- name: Setup JDK
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'zulu'
|
|
java-version: '8'
|
|
architecture: x86
|
|
|
|
- name: Setup zlib
|
|
run: |
|
|
mkdir zlib
|
|
cd zlib
|
|
C:\msys64\usr\bin\wget.exe -O zlib.zip https://downloads.sourceforge.net/project/gnuwin32/zlib/1.2.3/zlib-1.2.3-bin.zip
|
|
C:\msys64\usr\bin\wget.exe -O zliblibs.zip https://downloads.sourceforge.net/project/gnuwin32/zlib/1.2.3/zlib-1.2.3-lib.zip
|
|
unzip zlib.zip
|
|
unzip zliblibs.zip
|
|
|
|
- name: Setup OpenSSL
|
|
run: |
|
|
mkdir OpenSSL
|
|
cd OpenSSL
|
|
curl -L https://files.catbox.moe/ctwswu.dll -o libeay32.dll
|
|
curl -L https://files.catbox.moe/ie9e77.dll -o ssleay32.dll
|
|
|
|
- name: Build
|
|
shell: cmd
|
|
if: steps.build-cached.outputs.cache-hit != 'true'
|
|
run: |
|
|
for /f "tokens=*" %%n in ('powershell -NoLogo -Command "$(ls $pwd\cmake-*-windows-i386\bin).Fullname"') do @(set PATHCM=%%n)
|
|
set PATH=D:\Qt\5.6.3\mingw49_32\bin;D:\Qt\Tools\mingw492_32\bin;
|
|
set PATH=%CD%\zlib;%CD%\zlib\bin;%CD%\zlib\lib;%CD%\zlib\include;%PATH%
|
|
set PATH=%CD%\OpenSSL;%PATH%
|
|
set PATH=%PATHCM%;%PATH%
|
|
mkdir build
|
|
cd build
|
|
cmake ^
|
|
-DCMAKE_C_COMPILER=gcc ^
|
|
-DCMAKE_CXX_COMPILER=g++ ^
|
|
-DCMAKE_BUILD_TYPE=Release ^
|
|
-DLauncher_NOTIFICATION_URL:STRING=https://files.multimc.org/notifications.json ^
|
|
-DCMAKE_INSTALL_PREFIX:PATH="D:/UltimMC/UltimMC" ^
|
|
-DCMAKE_PREFIX_PATH="D:\Qt\5.6.3\mingw49_32" ^
|
|
-DQt5_DIR="D:\Qt\5.6.3\mingw49_32" ^
|
|
-DLauncher_UPDATER_BASE=https://files.multimc.org/update/ ^
|
|
-DLauncher_PASTE_EE_API_KEY:STRING=utLvciUouSURFzfjPxLBf5W4ISsUX4pwBDF7N1AfZ ^
|
|
-DLauncher_ANALYTICS_ID:STRING=UA-87731965-2 ^
|
|
-DLauncher_LAYOUT=win-bundle ^
|
|
-DLauncher_BUILD_PLATFORM=win32 ^
|
|
-DLauncher_BUG_TRACKER_URL=https://github.com/UltimMC/Launcher/issues ^
|
|
-DLauncher_EMBED_SECRETS=On ^
|
|
-G "MinGW Makefiles" ^
|
|
..
|
|
|
|
- name: Compile
|
|
shell: cmd
|
|
run: |
|
|
for /f "tokens=*" %%n in ('powershell -NoLogo -Command "$(ls $pwd\cmake-*-windows-i386\bin).Fullname"') do @(set PATHCM=%%n)
|
|
set PATH=D:\Qt\5.6.3\mingw49_32\bin;D:\Qt\Tools\mingw492_32\bin;
|
|
set PATH=%CD%\zlib;%CD%\zlib\bin;%PATH%
|
|
set PATH=%CD%\OpenSSL;%PATH%
|
|
set PATH=%PATHCM%;%PATH%
|
|
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;%PATH%
|
|
cd build
|
|
mingw32-make -j%NUMBER_OF_PROCESSORS%
|
|
|
|
- name: Test
|
|
shell: cmd
|
|
run: |
|
|
for /f "tokens=*" %%n in ('powershell -NoLogo -Command "$(ls $pwd\cmake-*-windows-i386\bin).Fullname"') do @(set PATHCM=%%n)
|
|
set PATH=D:\Qt\5.6.3\mingw49_32\bin;D:\Qt\Tools\mingw492_32\bin;
|
|
set PATH=%CD%\zlib;%CD%\zlib\bin;%PATH%
|
|
set PATH=%CD%\OpenSSL;%PATH%
|
|
set PATH=%PATHCM%;%PATH%
|
|
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;%PATH%
|
|
cd build
|
|
mingw32-make test
|
|
cmake -E remove_directory "D:/UltimMC/UltimMC"
|
|
|
|
- name: Install
|
|
shell: cmd
|
|
run: |
|
|
for /f "tokens=*" %%n in ('powershell -NoLogo -Command "$(ls $pwd\cmake-*-windows-i386\bin).Fullname"') do @(set PATHCM=%%n)
|
|
set PATH=D:\Qt\5.6.3\mingw49_32\bin;D:\Qt\Tools\mingw492_32\bin;
|
|
set PATH=%CD%\zlib;%CD%\zlib\bin;%PATH%
|
|
set PATH=%CD%\OpenSSL;%PATH%
|
|
set PATH=%PATHCM%;%PATH%
|
|
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;%PATH%
|
|
cd build
|
|
mingw32-make install
|
|
|
|
- name: Copy OpenSSL
|
|
shell: cmd
|
|
run: |
|
|
cp OpenSSL/ssleay32.dll D:/UltimMC/UltimMC/ssleay32.dll
|
|
cp OpenSSL/libeay32.dll D:/UltimMC/UltimMC/libeay32.dll
|
|
|
|
- name: Upload Artifacts
|
|
uses: actions/upload-artifact@main
|
|
with:
|
|
name: mmc-cracked-win32
|
|
path: "D:/UltimMC"
|
|
|
|
build-mac:
|
|
name: build-mac
|
|
runs-on: macos-13
|
|
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
with:
|
|
submodules: 'recursive'
|
|
|
|
- name: Cache Dependencies
|
|
uses: actions/cache@main
|
|
with:
|
|
path: /Users/runner/Library/Caches/Homebrew
|
|
key: ${{ runner.os }}-deps-cache
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
brew cleanup
|
|
brew install qt@5
|
|
|
|
- name: Build
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake \
|
|
-DCMAKE_C_COMPILER=/usr/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DLauncher_NOTIFICATION_URL:STRING=https://files.multimc.org/notifications.json \
|
|
-DCMAKE_INSTALL_PREFIX:PATH="/Users/runner/work/UltimMC/build/dist" \
|
|
-DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)/lib/cmake" \
|
|
-DQt5_DIR="$(brew --prefix qt@5)" \
|
|
-DLauncher_UPDATER_BASE=https://files.multimc.org/update/ \
|
|
-DLauncher_PASTE_EE_API_KEY:STRING=utLvciUouSURFzfjPxLBf5W4ISsUX4pwBDF7N1AfZ \
|
|
-DLauncher_ANALYTICS_ID:STRING=UA-87731965-2 \
|
|
-DLauncher_LAYOUT=mac-bundle \
|
|
-DLauncher_BUILD_PLATFORM=osx64-5.15.2 \
|
|
-DLauncher_BUG_TRACKER_URL=https://github.com/UltimMC/Launcher/issues \
|
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 \
|
|
-DLauncher_EMBED_SECRETS=On \
|
|
$GITHUB_WORKSPACE
|
|
|
|
- name: Compile
|
|
run: |
|
|
cd build
|
|
make -j$(sysctl -n hw.logicalcpu)
|
|
|
|
- name: Test
|
|
run: |
|
|
cd build
|
|
make test
|
|
cmake -E remove_directory "/Users/runner/work/UltimMC/build/dist"
|
|
|
|
- name: Install
|
|
run: |
|
|
cd build
|
|
make install
|
|
chmod +x /Users/runner/work/UltimMC/build/dist/UltimMC.app/Contents/MacOS/UltimMC
|
|
|
|
- name: Upload Artifacts
|
|
uses: actions/upload-artifact@main
|
|
with:
|
|
name: mmc-cracked-osx64
|
|
path: /Users/runner/work/UltimMC/build/dist
|