Fix syntax error

Fix build order

Minor improvements in CI

NOISSUE stop relying on forge servers for old FML libs

NOISSUE fix issue templates

More improvements

Update main.yml

Copy OpenSSL to install directory

Update main.yml

Update main.yml

Fix Path

Remove broken paths again

Remove uneeded step

Remove more unneeded things.

Don't echo PATH

Update main.yml

Not longer require QTACCOUNT secret

Update main.yml

Update main.yml

Update main.yml

Update main.yml

Update main.yml

Remove debugging echo
This commit is contained in:
Sebastian-byte
2021-05-08 16:18:05 -05:00
parent 41c87bd403
commit 1b4fbbcc9f
7 changed files with 220 additions and 31 deletions

View File

@@ -1,7 +1,6 @@
name: Bug Report name: Bug Report
description: File a bug report description: File a bug report
labels: [bug, needs-triage] labels: [bug, needs-triage]
issue_body: false
body: body:
- type: markdown - type: markdown
attributes: attributes:

View File

@@ -1,7 +1,6 @@
name: Suggestion name: Suggestion
description: Make a suggestion description: Make a suggestion
labels: [idea, needs-triage] labels: [idea, needs-triage]
issue_body: true
body: body:
- type: markdown - type: markdown
attributes: attributes:

193
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,193 @@
name: CI
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
workflow_dispatch:
jobs:
build-linux:
name: build-linux
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: |
sudo apt update
sudo apt install openjdk-8-jdk libgl1-mesa-dev qt5-default
- name: Clone
run: |
mkdir ~/MultiMC
cd ~/MultiMC
mkdir build
mkdir MultiMC
git clone --recursive --depth 1 https://github.com/Sebastian-byte/MultiMC5-Cracked.git src
- name: Build
run: |
cd ~/MultiMC/build
cmake -DCMAKE_INSTALL_PREFIX=../MultiMC -DCMAKE_BUILD_TYPE=Release -DMultiMC_NOTIFICATION_URL:STRING=https://files.multimc.org/notifications.json -DMultiMC_CHANLIST_URL=https://files.multimc.org/update/lin64/channels.json -DMultiMC_PASTE_EE_API_KEY:STRING=utLvciUouSURFzfjPxLBf5W4ISsUX4pwBDF7N1AfZ -DMultiMC_ANALYTICS_ID:STRING=UA-87731965-2 -DMultiMC_LAYOUT=lin-nodeps -DMultiMC_VERSION_BUILD=2064 -DMultiMC_BUILD_PLATFORM=lin64 ../src
- name: Compile
run: |
cd ~/MultiMC/build
make tcversion
make -j$(nproc)
- name: Test
run: |
cd ~/MultiMC/build
make test
cmake -E remove_directory "/home/runner/MultiMC/MultiMC"
- name: Install
run: |
cd ~/MultiMC/build
make install
- name: Upload Artifacts
uses: actions/upload-artifact@v2.2.3
with:
name: MultiMC5-Cracked-Linux
path: /home/runner/MultiMC/MultiMC
build-windows:
name: build-windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v2.3.4
with:
fetch-depth: 1
submodules: 'recursive'
- name: Cache Qt
uses: actions/cache@v2.1.5
id: qt-cached
with:
path: "D:/Qt"
key: ${{ runner.os }}-qt56-installed-d
- name: Cache Qt Installer
uses: actions/cache@v2.1.5
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://rickroll.is-inside.me/nPqUqs16.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/PibePlayer/cf6bd0a9f7e4d51e3e618ceedfba4b94/raw/09cb1415952b914f1567ce935d4618c396aec340/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.20.2/cmake-3.20.2-windows-i386.zip -o cmake.zip
unzip cmake.zip
- name: Setup JDK
uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '8'
architecture: x86
- name: Setup zlib
run: |
mkdir zlib
cd zlib
curl -L https://downloads.sourceforge.net/project/gnuwin32/zlib/1.2.3/zlib-1.2.3-bin.zip -o zlib.zip
curl -L https://downloads.sourceforge.net/project/gnuwin32/zlib/1.2.3/zlib-1.2.3-lib.zip -o zliblibs.zip
unzip zlib.zip
unzip zliblibs.zip
- name: Setup OpenSSL
run: |
mkdir OpenSSL
cd OpenSSL
curl -L https://github.com/IndySockets/OpenSSL-Binaries/raw/master/Archive/openssl-1.0.2g-i386-win32.zip -o OpenSSL.zip
unzip OpenSSL.zip
- name: Build
shell: cmd
if: steps.build-cached.outputs.cache-hit != 'true'
run: |
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=C:\hostedtoolcache\windows\Java_Zulu_jdk\8.0.292-10\x86\bin;%PATH%
set PATH=%CD%\cmake-3.20.2-windows-i386\bin;%PATH%
set CC=D:\Qt\Tools\mingw492_32\bin\gcc.exe
set CXX=D:\Qt\Tools\mingw492_32\bin\g++.exe
mkdir build
cd build
copy D:\Qt\Tools\mingw492_32\bin\mingw32-make.exe D:\Qt\Tools\mingw492_32\bin\make.exe
cmake -DCMAKE_BUILD_TYPE=Release -DMultiMC_NOTIFICATION_URL:STRING=https://files.multimc.org/notifications.json -DCMAKE_INSTALL_PREFIX:PATH="D:/MultiMC-Cracked" -DMultiMC_CHANLIST_URL=https://files.multimc.org/update/win32/channels.json -DMultiMC_PASTE_EE_API_KEY:STRING=utLvciUouSURFzfjPxLBf5W4ISsUX4pwBDF7N1AfZ -DMultiMC_ANALYTICS_ID:STRING=UA-87731965-2 -DMultiMC_LAYOUT=win-bundle -DMultiMC_VERSION_BUILD=2065 -DMultiMC_VERSION_CHANNEL=refs/heads/develop -DMultiMC_BUILD_PLATFORM=win32 -G "MinGW Makefiles" ..
- name: Compile
shell: cmd
run: |
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=C:\hostedtoolcache\windows\Java_Zulu_jdk\8.0.292-10\x86\bin;%PATH%
set PATH=%CD%\cmake-3.20.2-windows-i386\bin;%PATH%
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;%PATH%
cd build
mingw32-make tcversion
mingw32-make -j%NUMBER_OF_PROCESSORS%
- name: Test
shell: cmd
run: |
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=C:\hostedtoolcache\windows\Java_Zulu_jdk\8.0.292-10\x86\bin;%PATH%
set PATH=%CD%\cmake-3.20.2-windows-i386\bin;%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:/MultiMC-Cracked"
- name: Install
shell: cmd
run: |
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=C:\hostedtoolcache\windows\Java_Zulu_jdk\8.0.292-10\x86\bin;%PATH%
set PATH=%CD%\cmake-3.20.2-windows-i386\bin;%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:/MultiMC-Cracked/ssleay32.dll
cp OpenSSL/libeay32.dll D:/MultiMC-Cracked/libeay32.dll
- name: Upload Artifacts
uses: actions/upload-artifact@v2.2.3
with:
name: MultiMC5-Cracked-Windows
path: "D:/MultiMC-Cracked"

View File

@@ -7,18 +7,18 @@ VersionFilterData::VersionFilterData()
{ {
// 1.3.* // 1.3.*
auto libs13 = auto libs13 =
QList<FMLlib>{{"argo-2.25.jar", "bb672829fde76cb163004752b86b0484bd0a7f4b", false}, QList<FMLlib>{{"argo-2.25.jar", "bb672829fde76cb163004752b86b0484bd0a7f4b"},
{"guava-12.0.1.jar", "b8e78b9af7bf45900e14c6f958486b6ca682195f", false}, {"guava-12.0.1.jar", "b8e78b9af7bf45900e14c6f958486b6ca682195f"},
{"asm-all-4.0.jar", "98308890597acb64047f7e896638e0d98753ae82", false}}; {"asm-all-4.0.jar", "98308890597acb64047f7e896638e0d98753ae82"}};
fmlLibsMapping["1.3.2"] = libs13; fmlLibsMapping["1.3.2"] = libs13;
// 1.4.* // 1.4.*
auto libs14 = QList<FMLlib>{ auto libs14 = QList<FMLlib>{
{"argo-2.25.jar", "bb672829fde76cb163004752b86b0484bd0a7f4b", false}, {"argo-2.25.jar", "bb672829fde76cb163004752b86b0484bd0a7f4b"},
{"guava-12.0.1.jar", "b8e78b9af7bf45900e14c6f958486b6ca682195f", false}, {"guava-12.0.1.jar", "b8e78b9af7bf45900e14c6f958486b6ca682195f"},
{"asm-all-4.0.jar", "98308890597acb64047f7e896638e0d98753ae82", false}, {"asm-all-4.0.jar", "98308890597acb64047f7e896638e0d98753ae82"},
{"bcprov-jdk15on-147.jar", "b6f5d9926b0afbde9f4dbe3db88c5247be7794bb", false}}; {"bcprov-jdk15on-147.jar", "b6f5d9926b0afbde9f4dbe3db88c5247be7794bb"}};
fmlLibsMapping["1.4"] = libs14; fmlLibsMapping["1.4"] = libs14;
fmlLibsMapping["1.4.1"] = libs14; fmlLibsMapping["1.4.1"] = libs14;
@@ -31,30 +31,30 @@ VersionFilterData::VersionFilterData()
// 1.5 // 1.5
fmlLibsMapping["1.5"] = QList<FMLlib>{ fmlLibsMapping["1.5"] = QList<FMLlib>{
{"argo-small-3.2.jar", "58912ea2858d168c50781f956fa5b59f0f7c6b51", false}, {"argo-small-3.2.jar", "58912ea2858d168c50781f956fa5b59f0f7c6b51"},
{"guava-14.0-rc3.jar", "931ae21fa8014c3ce686aaa621eae565fefb1a6a", false}, {"guava-14.0-rc3.jar", "931ae21fa8014c3ce686aaa621eae565fefb1a6a"},
{"asm-all-4.1.jar", "054986e962b88d8660ae4566475658469595ef58", false}, {"asm-all-4.1.jar", "054986e962b88d8660ae4566475658469595ef58"},
{"bcprov-jdk15on-148.jar", "960dea7c9181ba0b17e8bab0c06a43f0a5f04e65", true}, {"bcprov-jdk15on-148.jar", "960dea7c9181ba0b17e8bab0c06a43f0a5f04e65"},
{"deobfuscation_data_1.5.zip", "5f7c142d53776f16304c0bbe10542014abad6af8", false}, {"deobfuscation_data_1.5.zip", "5f7c142d53776f16304c0bbe10542014abad6af8"},
{"scala-library.jar", "458d046151ad179c85429ed7420ffb1eaf6ddf85", true}}; {"scala-library.jar", "458d046151ad179c85429ed7420ffb1eaf6ddf85"}};
// 1.5.1 // 1.5.1
fmlLibsMapping["1.5.1"] = QList<FMLlib>{ fmlLibsMapping["1.5.1"] = QList<FMLlib>{
{"argo-small-3.2.jar", "58912ea2858d168c50781f956fa5b59f0f7c6b51", false}, {"argo-small-3.2.jar", "58912ea2858d168c50781f956fa5b59f0f7c6b51"},
{"guava-14.0-rc3.jar", "931ae21fa8014c3ce686aaa621eae565fefb1a6a", false}, {"guava-14.0-rc3.jar", "931ae21fa8014c3ce686aaa621eae565fefb1a6a"},
{"asm-all-4.1.jar", "054986e962b88d8660ae4566475658469595ef58", false}, {"asm-all-4.1.jar", "054986e962b88d8660ae4566475658469595ef58"},
{"bcprov-jdk15on-148.jar", "960dea7c9181ba0b17e8bab0c06a43f0a5f04e65", true}, {"bcprov-jdk15on-148.jar", "960dea7c9181ba0b17e8bab0c06a43f0a5f04e65"},
{"deobfuscation_data_1.5.1.zip", "22e221a0d89516c1f721d6cab056a7e37471d0a6", false}, {"deobfuscation_data_1.5.1.zip", "22e221a0d89516c1f721d6cab056a7e37471d0a6"},
{"scala-library.jar", "458d046151ad179c85429ed7420ffb1eaf6ddf85", true}}; {"scala-library.jar", "458d046151ad179c85429ed7420ffb1eaf6ddf85"}};
// 1.5.2 // 1.5.2
fmlLibsMapping["1.5.2"] = QList<FMLlib>{ fmlLibsMapping["1.5.2"] = QList<FMLlib>{
{"argo-small-3.2.jar", "58912ea2858d168c50781f956fa5b59f0f7c6b51", false}, {"argo-small-3.2.jar", "58912ea2858d168c50781f956fa5b59f0f7c6b51"},
{"guava-14.0-rc3.jar", "931ae21fa8014c3ce686aaa621eae565fefb1a6a", false}, {"guava-14.0-rc3.jar", "931ae21fa8014c3ce686aaa621eae565fefb1a6a"},
{"asm-all-4.1.jar", "054986e962b88d8660ae4566475658469595ef58", false}, {"asm-all-4.1.jar", "054986e962b88d8660ae4566475658469595ef58"},
{"bcprov-jdk15on-148.jar", "960dea7c9181ba0b17e8bab0c06a43f0a5f04e65", true}, {"bcprov-jdk15on-148.jar", "960dea7c9181ba0b17e8bab0c06a43f0a5f04e65"},
{"deobfuscation_data_1.5.2.zip", "446e55cd986582c70fcf12cb27bc00114c5adfd9", false}, {"deobfuscation_data_1.5.2.zip", "446e55cd986582c70fcf12cb27bc00114c5adfd9"},
{"scala-library.jar", "458d046151ad179c85429ed7420ffb1eaf6ddf85", true}}; {"scala-library.jar", "458d046151ad179c85429ed7420ffb1eaf6ddf85"}};
// don't use installers for those. // don't use installers for those.
forgeInstallerBlacklist = QSet<QString>({"1.5.2"}); forgeInstallerBlacklist = QSet<QString>({"1.5.2"});

View File

@@ -10,7 +10,6 @@ struct FMLlib
{ {
QString filename; QString filename;
QString checksum; QString checksum;
bool ours;
}; };
struct VersionFilterData struct VersionFilterData

View File

@@ -64,7 +64,7 @@ void FMLLibrariesTask::executeTask()
for (auto &lib : fmlLibsToProcess) for (auto &lib : fmlLibsToProcess)
{ {
auto entry = metacache->resolveEntry("fmllibs", lib.filename); auto entry = metacache->resolveEntry("fmllibs", lib.filename);
QString urlString = (lib.ours ? BuildConfig.FMLLIBS_OUR_BASE_URL : BuildConfig.FMLLIBS_FORGE_BASE_URL) + lib.filename; QString urlString = BuildConfig.FMLLIBS_BASE_URL + lib.filename;
dljob->addNetAction(Net::Download::makeCached(QUrl(urlString), entry)); dljob->addNetAction(Net::Download::makeCached(QUrl(urlString), entry));
} }

View File

@@ -71,8 +71,7 @@ public:
QString AUTH_BASE = "https://authserver.mojang.com/"; QString AUTH_BASE = "https://authserver.mojang.com/";
QString MOJANG_STATUS_URL = "https://status.mojang.com/check"; QString MOJANG_STATUS_URL = "https://status.mojang.com/check";
QString IMGUR_BASE_URL = "https://api.imgur.com/3/"; QString IMGUR_BASE_URL = "https://api.imgur.com/3/";
QString FMLLIBS_OUR_BASE_URL = "https://files.multimc.org/fmllibs/"; QString FMLLIBS_BASE_URL = "https://files.multimc.org/fmllibs/";
QString FMLLIBS_FORGE_BASE_URL = "https://files.minecraftforge.net/fmllibs/";
QString TRANSLATIONS_BASE_URL = "https://files.multimc.org/translations/"; QString TRANSLATIONS_BASE_URL = "https://files.multimc.org/translations/";
QString MODPACKSCH_API_BASE_URL = "https://api.modpacks.ch/"; QString MODPACKSCH_API_BASE_URL = "https://api.modpacks.ch/";