Skip to content
Open

pull #473

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2e76499
Add GitHub Actions workflow for building Windows EXE
WastoLord Jan 21, 2026
55d91b5
Add GitHub Actions workflow for Windows build
WastoLord Jan 21, 2026
e5adb4d
Add shell specification for Configure step
WastoLord Jan 21, 2026
b43b47e
Change shell from cmd to pwsh in build workflow
WastoLord Jan 21, 2026
fe77e99
Enhance Windows build workflow with MSYS2 setup
WastoLord Jan 21, 2026
7ef3dac
Change Qt installation action version to v2
WastoLord Jan 21, 2026
9de714a
Update Windows build workflow to include Python setup
WastoLord Jan 21, 2026
c2abba2
Refactor Windows build workflow for clarity and updates
WastoLord Jan 21, 2026
04e72b6
Delete .github/workflows/build-windows.yml
WastoLord Jan 26, 2026
8dff847
Refactor Windows build workflow and update steps
WastoLord Jan 26, 2026
8356ade
Update GitHub Actions to use main branch for actions
WastoLord Jan 26, 2026
5214853
Fix path for artifact upload in workflow
WastoLord Jan 26, 2026
f2ae593
Update macOS build configuration and dependencies
WastoLord Jan 26, 2026
97eab67
Add GitHub Actions workflow for macOS build
WastoLord Jan 26, 2026
b575fc7
Delete .github/workflows/build-mac.yml
WastoLord Jan 26, 2026
e6bcd7f
Add GitHub Actions workflow for macOS build
WastoLord Jan 26, 2026
42be3e4
Rename workflow to Build_macOS
WastoLord Jan 26, 2026
7bd24de
Refactor macOS build workflow for manual trigger
WastoLord Jan 26, 2026
f1aca5e
Fix formatting and update comments in build workflow
WastoLord Jan 26, 2026
6b36ee6
Fix path formatting in build-mac_test.yml
WastoLord Jan 26, 2026
30017e7
Fix path formatting in build-mac_test.yml
WastoLord Jan 26, 2026
8a1c002
Remove macOS build steps from workflow
WastoLord Jan 26, 2026
ce18c67
Refactor workflow names for clarity
WastoLord Jan 26, 2026
3fff33e
Update build-mac_test.yml
WastoLord Jan 26, 2026
323a7cc
Rename workflow and update environment variables
WastoLord Jan 26, 2026
e6b7a6a
Update build-mac_test.yml
WastoLord Jan 26, 2026
434b1de
Update build-mac_test.yml
WastoLord Jan 26, 2026
1acf4a0
Update README.md
WastoLord Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/build-mac_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build macOS (sanity)

on:
workflow_dispatch:
inputs:
arch:
description: 'Arquitetura: "intel" (macos-15-intel) ou "arm64" (macos-latest).'
required: false
default: 'intel'

jobs:
build-mac-intel:
name: build-mac (intel)
if: ${{ github.event.inputs.arch != 'arm64' }}
runs-on: macos-15-intel
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Quick intel smoke
run: |
echo "Running intel mac job"
uname -a
- name: Upload marker
uses: actions/upload-artifact@v3
with:
name: mac-intel-marker
path: .github/workflows/build-mac_test.yml

build-mac-arm:
name: build-mac (arm64)
if: ${{ github.event.inputs.arch == 'arm64' }}
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Quick arm smoke
run: |
echo "Running arm mac job"
uname -a
- name: Upload marker
uses: actions/upload-artifact@v3
with:
name: mac-arm-marker
path: .github/workflows/build-mac_test.yml
215 changes: 215 additions & 0 deletions .github/workflows/build-win-simple.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
name: TESTE

on:
workflow_dispatch:

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[...]

- 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"
14 changes: 3 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,15 @@

## Downloading

- All the available downloads can be found [here](https://nightly.link/UltimMC/Launcher/workflows/main/develop). These builds are directly taken from our [GitHub Actions](https://github.com/UltimMC/Launcher/actions).
- All the available downloads can be found [here](https://github.com/WastoLord/UltimMC-Launcher/releases/tag/compilado). These builds are directly taken from our [GitHub Actions](https://github.com/WastoLord/UltimMC-Launcher/actions/workflows/build-win-simple.yml).

Direct downloads for specific platforms can be found below.

- *[Windows \(32-bit and 64-bit\)](https://nightly.link/UltimMC/Launcher/workflows/main/develop/mmc-cracked-win32.zip)*.
- *[Windows \(32-bit and 64-bit\)](https://github.com/WastoLord/UltimMC-Launcher/releases/download/compilado/mmc-cracked-win32.zip)*.

- *[Linux (64-bit)](https://nightly.link/UltimMC/Launcher/workflows/main/develop/mmc-cracked-lin64.zip)*.
- *[Linux (64-bit)](https://github.com/WastoLord/UltimMC-Launcher/releases/download/compilado/mmc-cracked-lin64.zip)*.

- *[macOS (10.14 and newer)](https://nightly.link/UltimMC/Launcher/workflows/main/develop/mmc-cracked-osx64.zip)*.

> [!NOTE]
> In the case you're using macOS then another additional step you might need to do
> is to make `UltimMC` an executable by running the command `chmod +x UltimMC.app/Contents/MacOS/UltimMC` in the terminal.

There's additionally a [.deb package](https://nightly.link/UltimMC/ultimmc-deb/workflows/ci/master/UltimMC.zip) for Debian/Ubuntu distributions.

And an AUR package as [ultimmc-bin](https://aur.archlinux.org/packages/ultimmc-bin). [![ultimmc-bin](https://img.shields.io/badge/ultimmc--bin-1793D1?logo=archlinux&logoColor=white&label=AUR)](https://aur.archlinux.org/packages/ultimmc-bin)

## Installing and Using

Expand Down