Author SHA1 Message Date
Dusk-92 1f1581d3ea Add Windows test build workflow
Build and Release / build-and-release (release) Has been cancelled
2026-09-12 15:29:00 +02:00
Dusk-92 6c6349deb9 Fix OctoWoW cloning behind BlazingFastWeb 2026-09-12 15:28:30 +02:00
2 changed files with 82 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
name: Windows Test Build
on:
push:
branches: [ master ]
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Cache Qt
id: cache-qt
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/Qt
key: qt-6.8.3-msvc2022_64
- name: Install Qt
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
python -m pip install --upgrade pip
pip install aqtinstall
python -m aqt install-qt windows desktop 6.8.3 win64_msvc2022_64 --outputdir ${{ github.workspace }}/Qt
- name: Add Qt to PATH
run: echo "${{ github.workspace }}/Qt/6.8.3/msvc2022_64/bin" >> $GITHUB_PATH
- name: Install libgit2
run: vcpkg install libgit2:x64-windows
- name: Configure CMake
run: |
cmake -B build -S . `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_PREFIX_PATH="${{ github.workspace }}/Qt/6.8.3/msvc2022_64" `
-DLIBGIT2_INCLUDE_DIR="C:/vcpkg/installed/x64-windows/include" `
-DLIBGIT2_LIBRARY="C:/vcpkg/installed/x64-windows/lib/git2.lib" `
-DCPACK_PACKAGE_VERSION="test"
- name: Build
run: cmake --build build --config Release
- name: Install NSIS
run: choco install nsis -y
- name: Package
working-directory: build
run: cpack -C Release
- name: Upload test installer
uses: actions/upload-artifact@v4
with:
name: GitAddonsManager-OctoWoW-test
path: build/GitAddonsManager-*.exe
if-no-files-found: error
+14
View File
@@ -28,6 +28,8 @@
#include <QCommandLineParser>
#include <QtLogging>
#include <QWindow>
#include <git2.h>
#include <git2/version.h>
QtMessageHandler originalHandler = nullptr;
@@ -90,6 +92,18 @@ int main(int argc, char *argv[])
engine.load(QUrl(QStringLiteral("qrc:/Update.qml")));
} else {
Control::instance()->init();
#ifdef LIBGIT2_VERSION_CHECK
#if LIBGIT2_VERSION_CHECK(1, 8, 1)
// OctoWoW is protected by BlazingFastWeb, which serves an HTML
// challenge to clients using the default git/* User-Agent.
// Use the curl User-Agent that the server accepts while keeping
// libgit2's normal Git Smart HTTP implementation unchanged.
git_libgit2_opts(GIT_OPT_SET_USER_AGENT_PRODUCT, "curl/8.21.0");
git_libgit2_opts(GIT_OPT_SET_USER_AGENT, "");
#endif
#endif
qmlRegisterUncreatableType<Addon>("GitAddonsManager.engine",1,0,"Addon","");
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (parser.isSet("oneshot")) {