From 6f65ccf9a0c35902b29100f3a813e0abd02f4384 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Thu, 20 Apr 2023 00:35:20 +0300 Subject: Update changelog Change-Id: Ib0ff20ea53c0ba3620338f7615ccd92f3e5fa82d Reviewed-by: Christian Kandeler --- changelogs/changes-2.0.1.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/changelogs/changes-2.0.1.md b/changelogs/changes-2.0.1.md index 8213c9eed..0f1bf4973 100644 --- a/changelogs/changes-2.0.1.md +++ b/changelogs/changes-2.0.1.md @@ -1,8 +1,12 @@ +# C/C++ Support +* Fixed building applications with mingw toolchain and Qt6 (QBS-1724). + # Apple Support -* Added support for Xcode 14.3 +* Added support for Xcode 14.3. +* Fixed codesigning on macOS (QBS-1722). # Build System -* Fixed qbsbuildconfig module +* Fixed qbsbuildconfig module. # Contributors * Christian Kandeler -- cgit v1.2.1 From 08505e99e004bdfe09ece062670ccae3a8ee7576 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 28 Apr 2023 12:53:24 +0200 Subject: ScriptEngine: Make import functionality exception safe Fixes: QBS-1730 Change-Id: I83324b7d859412580213dc4eb9f1f60e0f9063f2 Reviewed-by: Ivan Komissarov --- src/lib/corelib/language/evaluator.cpp | 6 +-- src/lib/corelib/language/scriptengine.cpp | 63 ++++++++++++++-------- src/lib/corelib/language/scriptengine.h | 15 +++++- src/lib/corelib/language/scriptimporter.cpp | 5 +- .../testdata/erroneous/missing-js-file.qbs | 3 ++ .../missing-js-file-module.qbs | 3 ++ .../missing-js-file-module/missing-js-file.js | 1 + tests/auto/language/tst_language.cpp | 2 + 8 files changed, 69 insertions(+), 29 deletions(-) create mode 100644 tests/auto/language/testdata/erroneous/missing-js-file.qbs create mode 100644 tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file-module.qbs create mode 100644 tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file.js diff --git a/src/lib/corelib/language/evaluator.cpp b/src/lib/corelib/language/evaluator.cpp index 5252f06be..f7c3824f2 100644 --- a/src/lib/corelib/language/evaluator.cpp +++ b/src/lib/corelib/language/evaluator.cpp @@ -269,9 +269,9 @@ Evaluator::FileContextScopes Evaluator::fileContextScopes(const FileContextConst } if (!JS_IsObject(result.importScope)) { try { - result.importScope = m_scriptEngine->newObject(); - setupScriptEngineForFile(m_scriptEngine, file, result.importScope, - ObserveMode::Enabled); + ScopedJsValue importScope(m_scriptEngine->context(), m_scriptEngine->newObject()); + setupScriptEngineForFile(m_scriptEngine, file, importScope, ObserveMode::Enabled); + result.importScope = importScope.release(); } catch (const ErrorInfo &e) { result.importScope = throwError(m_scriptEngine->context(), e.toString()); } diff --git a/src/lib/corelib/language/scriptengine.cpp b/src/lib/corelib/language/scriptengine.cpp index bd7394b16..a8e6cb657 100644 --- a/src/lib/corelib/language/scriptengine.cpp +++ b/src/lib/corelib/language/scriptengine.cpp @@ -233,22 +233,7 @@ void ScriptEngine::reset() void ScriptEngine::import(const FileContextBaseConstPtr &fileCtx, JSValue &targetObject, ObserveMode observeMode) { - installImportFunctions(targetObject); - m_currentDirPathStack.push(FileInfo::path(fileCtx->filePath())); - m_extensionSearchPathsStack.push(fileCtx->searchPaths()); - m_observeMode = observeMode; - - for (const JsImport &jsImport : fileCtx->jsImports()) - import(jsImport, targetObject); - if (m_observeMode == ObserveMode::Enabled) { - for (JSValue &sv : m_requireResults) - observeImport(sv); - m_requireResults.clear(); - } - - m_currentDirPathStack.pop(); - m_extensionSearchPathsStack.pop(); - uninstallImportFunctions(); + Importer(*this, fileCtx, targetObject, observeMode).run(); } void ScriptEngine::import(const JsImport &jsImport, JSValue &targetObject) @@ -266,9 +251,10 @@ void ScriptEngine::import(const JsImport &jsImport, JSValue &targetObject) if (debugJSImports) qDebug() << "[ENGINE] " << jsImport.filePaths << " (cache miss)"; - jsImportValue = JS_NewObject(m_context); + ScopedJsValue scopedImportValue(m_context, JS_NewObject(m_context)); for (const QString &filePath : jsImport.filePaths) - importFile(filePath, jsImportValue); + importFile(filePath, scopedImportValue); + jsImportValue = scopedImportValue.release(); m_jsImportCache.insert(jsImport, jsImportValue); std::vector &filePathsForScriptValue = m_filePathsPerImport[jsObjectId(jsImportValue)]; @@ -444,7 +430,7 @@ void ScriptEngine::setEnvironment(const QProcessEnvironment &env) m_environment = env; } -void ScriptEngine::importFile(const QString &filePath, JSValue &targetObject) +void ScriptEngine::importFile(const QString &filePath, JSValue targetObject) { AccumulatingTimer importTimer(m_elapsedTimeImporting != -1 ? &m_elapsedTimeImporting : nullptr); JSValue &evaluationResult = m_jsFileCache[filePath]; @@ -598,9 +584,9 @@ JSValue ScriptEngine::js_require(JSContext *ctx, JSValueConst this_val, engine->m_logger.qbsDebug() << "[require] importing file " << filePath; } - JSValue obj = engine->newObject(); + ScopedJsValue obj(engine->context(), engine->newObject()); engine->importFile(filePath, obj); - values << obj; + values << obj.release(); filePaths.push_back(filePath); } } catch (const ErrorInfo &e) { @@ -631,8 +617,9 @@ JSValue ScriptEngine::js_require(JSContext *ctx, JSValueConst this_val, result = getJsProperty(ctx, func_data[0], scopeName); if (JS_IsObject(result)) return result; // Same JS file imported from same qbs file via different JS files (e.g. codesign.js from DarwinGCC.qbs via gcc.js and darwin.js). - result = engine->newObject(); - engine->importFile(filePath, result); + ScopedJsValue scopedResult(engine->context(), engine->newObject()); + engine->importFile(filePath, scopedResult); + result = scopedResult.release(); setJsProperty(ctx, result, StringConstants::importScopeNamePropertyInternal(), scopeName); setJsProperty(ctx, func_data[0], scopeName, result); engine->m_requireResults.push_back(result); @@ -1027,5 +1014,35 @@ void ScriptEngine::takeOwnership(JSValue v) ++m_evalResults[v]; } +ScriptEngine::Importer::Importer( + ScriptEngine &engine, const FileContextBaseConstPtr &fileCtx, JSValue &targetObject, + ObserveMode observeMode) + : m_engine(engine), m_fileCtx(fileCtx), m_targetObject(targetObject) +{ + m_engine.installImportFunctions(targetObject); + m_engine.m_currentDirPathStack.push(FileInfo::path(fileCtx->filePath())); + m_engine.m_extensionSearchPathsStack.push(fileCtx->searchPaths()); + m_engine.m_observeMode = observeMode; +} + +ScriptEngine::Importer::~Importer() +{ + if (m_engine.m_observeMode == ObserveMode::Enabled) + m_engine.m_requireResults.clear(); + m_engine.m_currentDirPathStack.pop(); + m_engine.m_extensionSearchPathsStack.pop(); + m_engine.uninstallImportFunctions(); +} + +void ScriptEngine::Importer::run() +{ + for (const JsImport &jsImport : m_fileCtx->jsImports()) + m_engine.import(jsImport, m_targetObject); + if (m_engine.m_observeMode == ObserveMode::Enabled) { + for (JSValue &sv : m_engine.m_requireResults) + m_engine.observeImport(sv); + } +} + } // namespace Internal } // namespace qbs diff --git a/src/lib/corelib/language/scriptengine.h b/src/lib/corelib/language/scriptengine.h index d7798decf..8c97e3079 100644 --- a/src/lib/corelib/language/scriptengine.h +++ b/src/lib/corelib/language/scriptengine.h @@ -292,6 +292,19 @@ public: void setProperty(const char *k, const QVariant &v) { m_properties.insert(QLatin1String(k), v); } private: + class Importer { + public: + Importer(ScriptEngine &engine, const FileContextBaseConstPtr &fileCtx, + JSValue &targetObject, ObserveMode observeMode); + ~Importer(); + void run(); + + private: + ScriptEngine &m_engine; + const FileContextBaseConstPtr &m_fileCtx; + JSValue &m_targetObject; + }; + static int interruptor(JSRuntime *rt, void *opaqueEngine); bool gatherFileResults() const; @@ -305,7 +318,7 @@ private: void uninstallImportFunctions(); void import(const JsImport &jsImport, JSValue &targetObject); void observeImport(JSValue &jsImport); - void importFile(const QString &filePath, JSValue &targetObject); + void importFile(const QString &filePath, JSValue targetObject); static JSValue js_require(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv, int magic, JSValue *func_data); JSValue mergeExtensionObjects(const JSValueList &lst); diff --git a/src/lib/corelib/language/scriptimporter.cpp b/src/lib/corelib/language/scriptimporter.cpp index 1b012f3c3..fdb0689ad 100644 --- a/src/lib/corelib/language/scriptimporter.cpp +++ b/src/lib/corelib/language/scriptimporter.cpp @@ -142,10 +142,11 @@ JSValue ScriptImporter::importSourceCode(const QString &sourceCode, const QStrin code = QLatin1String("(function(){\n") + sourceCode + extractor.suffix(); } - JSValue result = m_engine->evaluate(JsValueOwner::Caller, code, filePath, 0); + ScopedJsValue result(m_engine->context(), + m_engine->evaluate(JsValueOwner::Caller, code, filePath, 0)); throwOnEvaluationError(m_engine, [&filePath] () { return CodeLocation(filePath, 0); }); copyProperties(m_engine->context(), result, targetObject); - return result; + return result.release(); } void ScriptImporter::copyProperties(JSContext *ctx, const JSValue &src, JSValue &dst) diff --git a/tests/auto/language/testdata/erroneous/missing-js-file.qbs b/tests/auto/language/testdata/erroneous/missing-js-file.qbs new file mode 100644 index 000000000..a3274a35b --- /dev/null +++ b/tests/auto/language/testdata/erroneous/missing-js-file.qbs @@ -0,0 +1,3 @@ +Product { + Depends { name: "missing-js-file-module" } +} diff --git a/tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file-module.qbs b/tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file-module.qbs new file mode 100644 index 000000000..31302b5c2 --- /dev/null +++ b/tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file-module.qbs @@ -0,0 +1,3 @@ +import "missing-js-file.js" as MissingJsFile + +Module { } diff --git a/tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file.js b/tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file.js new file mode 100644 index 000000000..b66048a8f --- /dev/null +++ b/tests/auto/language/testdata/erroneous/modules/missing-js-file-module/missing-js-file.js @@ -0,0 +1 @@ +var userfile = require("javascriptfile.js") diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp index 689b3bd7f..50269a7d7 100644 --- a/tests/auto/language/tst_language.cpp +++ b/tests/auto/language/tst_language.cpp @@ -947,6 +947,8 @@ void TestLanguage::erroneousFiles_data() "Product.multiplexByQbsProperties."; QTest::newRow("invalid-references") << "invalid-references.qbs:2:17.*Cannot open '.*nosuchproject.qbs'"; + QTest::newRow("missing-js-file") + << "missing-js-file-module.qbs.*Cannot open '.*javascriptfile.js'"; } void TestLanguage::erroneousFiles() -- cgit v1.2.1 From 42c921000894b0d3e7d6a00c15829a57ea16d6d5 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Mon, 1 May 2023 01:33:14 +0300 Subject: GitHub actions: bump Xcode version to 14.2 Change-Id: Ia650a42f6b88fd8eceb1bf24663baeee17835e35 Reviewed-by: Christian Kandeler --- .github/workflows/main.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2da8bf997..6740ddf51 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -623,41 +623,41 @@ jobs: matrix: config: - { - name: 'Run macOS tests (Xcode 14.1)', + name: 'Run macOS tests (Xcode 14.2)', runner: 'macos-12', target: 'desktop', toolchain: 'clang_64', - xcodeVersion: '14.1', - testProfile: 'xcode_14_1-macosx-x86_64', + xcodeVersion: '14.2', + testProfile: 'xcode_14_2-macosx-x86_64', qtVersion: '5.15.2', script: './scripts/test-qbs.sh', } - { - name: 'Run macOS tests (Xcode 14.1, Qt 6.3)', + name: 'Run macOS tests (Xcode 14.2, Qt 6.3)', runner: 'macos-12', target: 'desktop', toolchain: 'clang_64', - xcodeVersion: '14.1', - testProfile: 'xcode_14_1-macosx-x86_64', + xcodeVersion: '14.2', + testProfile: 'xcode_14_2-macosx-x86_64', qtVersion: '6.3.1', script: './scripts/test-qt.sh', } - { - name: 'Run iOS tests (Xcode 14.1)', + name: 'Run iOS tests (Xcode 14.2)', runner: 'macos-12', target: 'ios', toolchain: 'ios', - xcodeVersion: '14.1', + xcodeVersion: '14.2', testProfile: 'xcode_14_1-iphoneos-arm64', qtVersion: '5.15.2', script: './scripts/test-qbs.sh', } - { - name: 'Run iOS-sim tests (Xcode 14.1)', + name: 'Run iOS-sim tests (Xcode 14.2)', runner: 'macos-12', target: 'ios', toolchain: 'ios', - xcodeVersion: '14.1', + xcodeVersion: '14.2', testProfile: 'xcode_14_1-iphonesimulator-x86_64', qtVersion: '5.15.2', script: './scripts/test-qbs.sh', -- cgit v1.2.1 From 67cac7b3123aa412c8c844d2c4d48b05a9ca2a3b Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Sun, 30 Apr 2023 23:41:46 +0300 Subject: apple: fix detecting xcode via xcode-select It appears, that xcode-select --print-path adds extra \n at the end of output. This also fixes the macOS 13.4.1 job since we set the target xcode as a default one via xcode-select. Change-Id: I6e2219c6b76682755f949ece63f43df33cf15481 Reviewed-by: Christian Kandeler --- src/app/qbs-setup-toolchains/xcodeprobe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/qbs-setup-toolchains/xcodeprobe.cpp b/src/app/qbs-setup-toolchains/xcodeprobe.cpp index bb246742f..5fbfcc4e6 100644 --- a/src/app/qbs-setup-toolchains/xcodeprobe.cpp +++ b/src/app/qbs-setup-toolchains/xcodeprobe.cpp @@ -150,7 +150,7 @@ void XcodeProbe::detectDeveloperPaths() if (!selectedXcode.waitForFinished(-1) || selectedXcode.exitCode()) { qbsInfo() << Tr::tr("Could not detect selected Xcode with /usr/bin/xcode-select"); } else { - QString path = QString::fromLocal8Bit(selectedXcode.readAllStandardOutput()); + QString path = QString::fromLocal8Bit(selectedXcode.readAllStandardOutput().trimmed()); addDeveloperPath(path); } addDeveloperPath(defaultDeveloperPath); -- cgit v1.2.1 From 36efb11629b9c40e9184842207e074f2a91c3d64 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Mon, 1 May 2023 15:29:41 +0300 Subject: Qt support: workaround for broken iOS prfs Change-Id: Ib0dcd880d963d25c0a8a20bb8bccfd85bcb3f510 Reviewed-by: Christian Kandeler --- share/qbs/module-providers/Qt/setup-qt.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/qbs/module-providers/Qt/setup-qt.js b/share/qbs/module-providers/Qt/setup-qt.js index 08fc8b999..70051172c 100644 --- a/share/qbs/module-providers/Qt/setup-qt.js +++ b/share/qbs/module-providers/Qt/setup-qt.js @@ -768,9 +768,11 @@ function doSetupLibraries(modInfo, qtProps, debugBuild, nonExistingPrlFiles, and var parts = extractPaths(line.slice(equalsOffset + 1).trim(), prlFilePath); for (i = 0; i < parts.length; ++i) { var part = parts[i]; + var defaultInstallPrefix = "/Users/qt/work/qt/qtbase/build/target"; part = part.replace("$$[QT_INSTALL_LIBS]", qtProps.libraryPath); part = part.replace("$$[QT_INSTALL_PLUGINS]", qtProps.pluginPath); part = part.replace("$$[QT_INSTALL_PREFIX]", qtProps.installPrefixPath); + part = part.replace(defaultInstallPrefix, qtProps.installPrefixPath); if (part.startsWith("-l")) { libs.push(part.slice(2)); } else if (part.startsWith("-L")) { -- cgit v1.2.1 From 8ac83975b31e9a9adf8e36c365a44d9a8216a7ab Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Mon, 1 May 2023 10:22:50 +0300 Subject: install-qt.sh: Support Qt6 iOS Change-Id: I32bfea051b52e96a60bc4410dd89a72fd7bb286e Reviewed-by: Christian Kandeler --- scripts/install-qt.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/install-qt.sh b/scripts/install-qt.sh index 4ccad3f8e..840a10532 100755 --- a/scripts/install-qt.sh +++ b/scripts/install-qt.sh @@ -361,6 +361,13 @@ for COMPONENT in ${COMPONENTS}; do ANDROID_QMAKE_FILE="${UNPACK_DIR}/${VERSION}/${SUBDIR}/bin/qmake" QMAKE_FILE="${UNPACK_DIR}/${VERSION}/gcc_64/bin/qmake" sed -i "s|\/home\/qt\/work\/install\/bin\/qmake|$QMAKE_FILE|g" "${ANDROID_QMAKE_FILE}" + elif [ "${TARGET_PLATFORM}" == "ios" ] && [ ! "${VERSION}" \< "6.0.0" ]; then + CONF_FILE="${UNPACK_DIR}/${VERSION}/${SUBDIR}/bin/target_qt.conf" + sed -i.bak "s|HostData=target|HostData=../$TOOLCHAIN|g" "${CONF_FILE}" + sed -i.bak "s|HostPrefix=..\/..\/|HostPrefix=..\/..\/macos|g" "${CONF_FILE}" + IOS_QMAKE_FILE="${UNPACK_DIR}/${VERSION}/${SUBDIR}/bin/qmake" + QMAKE_FILE="${UNPACK_DIR}/${VERSION}/macos/bin/qmake" + sed -i.bak "s|\/Users\/qt\/work\/install\/bin\/qmake|${QMAKE_FILE}|g" "${IOS_QMAKE_FILE}" else CONF_FILE="${UNPACK_DIR}/${VERSION}/${SUBDIR}/bin/qt.conf" echo "[Paths]" > ${CONF_FILE} -- cgit v1.2.1 From 4b272a729e45a7330124604b7025ab0a49b58bbf Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Tue, 2 May 2023 07:01:23 +0300 Subject: Qt: Fix compiled-qml on iOS and Qt6 Task-number: QBS-1732 Change-Id: Id5e6a3aa65ea276093d25d8b939dd59bbe090eda Reviewed-by: Christian Kandeler --- share/qbs/module-providers/Qt/templates/qml.js | 24 ++++++++++++++++++++---- share/qbs/module-providers/Qt/templates/qml.qbs | 8 +------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/share/qbs/module-providers/Qt/templates/qml.js b/share/qbs/module-providers/Qt/templates/qml.js index 2a2ff85ab..ad76a0d0f 100644 --- a/share/qbs/module-providers/Qt/templates/qml.js +++ b/share/qbs/module-providers/Qt/templates/qml.js @@ -39,17 +39,32 @@ function getPrlRhs(line) return line.split('=')[1].trim(); } -function getLibsForPlugin(pluginData, buildVariant, targetOS, toolchain, qtLibDir, qtPluginDir, - qtDir) +function getLibsForPlugin(pluginData, product) { + var targetOS = product.qbs.targetOS; + var toolchain = product.qbs.toolchain; + var buildVariant = product.Qt.core.qtBuildVariant; + var qtLibDir = product.Qt.core.libPath; + var qtPluginDir = product.Qt.core.pluginPath; + var qtDir = product.Qt.core.installPrefixPath; + var qtQmlPath = product.Qt.qml.qmlPath; + if (!pluginData.path) return ""; var prlFileName = ""; if (!targetOS.contains("windows")) prlFileName += "lib"; prlFileName += pluginData.plugin; - if (buildVariant === "debug" && targetOS.contains("windows")) - prlFileName += "d"; + if (buildVariant === "debug") { + if (targetOS.contains("windows")) { + prlFileName += "d"; + } else if (product.Qt.core.versionMajor >= 6 && + (targetOS.contains("ios") + || targetOS.contains("tvos") + || targetOS.contains("watchos"))) { + prlFileName += "_debug"; + } + } prlFileName += ".prl"; var prlFilePath = FileInfo.joinPaths(pluginData.path, prlFileName); if (!File.exists(prlFilePath)) { @@ -77,6 +92,7 @@ function getLibsForPlugin(pluginData, buildVariant, targetOS, toolchain, qtLibDi otherLibsLine = otherLibsLine.replace(/\$\$\[QT_INSTALL_LIBS\]/g, qtLibDir); otherLibsLine = otherLibsLine.replace(/\$\$\[QT_INSTALL_PLUGINS\]/g, qtPluginDir); otherLibsLine = otherLibsLine.replace(/\$\$\[QT_INSTALL_PREFIX\]/g, qtDir); + otherLibsLine = otherLibsLine.replace(/\$\$\[QT_INSTALL_QML\]/g, qtQmlPath); otherLibs = otherLibs.concat(otherLibsLine.split(' ')); } } diff --git a/share/qbs/module-providers/Qt/templates/qml.qbs b/share/qbs/module-providers/Qt/templates/qml.qbs index f15705cc5..de1318695 100644 --- a/share/qbs/module-providers/Qt/templates/qml.qbs +++ b/share/qbs/module-providers/Qt/templates/qml.qbs @@ -170,13 +170,7 @@ QtModule { } if (cppFile) cppFile.writeLine("Q_IMPORT_PLUGIN(" + className + ")"); - var libs = Qml.getLibsForPlugin(scannerData[p], - product.Qt.core.qtBuildVariant, - product.qbs.targetOS, - product.qbs.toolchain, - product.Qt.core.libPath, - product.Qt.core.pluginPath, - product.Qt.core.installPrefixPath); + var libs = Qml.getLibsForPlugin(scannerData[p], product); for (var i = 0; i < libs.length; ++i) { var lib = libs[i]; if (!lib.endsWith(product.cpp.objectSuffix) -- cgit v1.2.1 From 03e717b06ed5c0864618e763f08f91d9fc94b733 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Mon, 1 May 2023 01:37:33 +0300 Subject: GitHub actions: bump Qt versions on mac to 6.5.0 ... and on iOS to 6.3.2 since newer versions are not supported yet. Change-Id: I7f021bedc59d7ae25793830db1e27f5f4a6f0a24 Reviewed-by: Christian Kandeler --- .github/workflows/main.yml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6740ddf51..d66a5b461 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -629,17 +629,17 @@ jobs: toolchain: 'clang_64', xcodeVersion: '14.2', testProfile: 'xcode_14_2-macosx-x86_64', - qtVersion: '5.15.2', + qtVersion: '6.5.0', script: './scripts/test-qbs.sh', } - { - name: 'Run macOS tests (Xcode 14.2, Qt 6.3)', + name: 'Run macOS tests (Xcode 14.2, Qt 5.15)', runner: 'macos-12', target: 'desktop', toolchain: 'clang_64', xcodeVersion: '14.2', testProfile: 'xcode_14_2-macosx-x86_64', - qtVersion: '6.3.1', + qtVersion: '5.15.2', script: './scripts/test-qt.sh', } - { @@ -649,7 +649,7 @@ jobs: toolchain: 'ios', xcodeVersion: '14.2', testProfile: 'xcode_14_1-iphoneos-arm64', - qtVersion: '5.15.2', + qtVersion: '6.3.2', script: './scripts/test-qbs.sh', } - { @@ -659,7 +659,7 @@ jobs: toolchain: 'ios', xcodeVersion: '14.2', testProfile: 'xcode_14_1-iphonesimulator-x86_64', - qtVersion: '5.15.2', + qtVersion: '6.3.2', script: './scripts/test-qbs.sh', } - { @@ -669,7 +669,7 @@ jobs: toolchain: 'clang_64', xcodeVersion: '13.4.1', testProfile: 'xcode_13_4_1-macosx-x86_64', - qtVersion: '5.15.2', + qtVersion: '6.5.0', script: './scripts/test-qbs.sh', } @@ -680,7 +680,7 @@ jobs: toolchain: 'clang_64', xcodeVersion: '12.5.1', testProfile: 'xcode_12_5_1-macosx-x86_64', - qtVersion: '5.15.2', + qtVersion: '6.5.0', script: './scripts/test-qbs.sh', } steps: @@ -696,6 +696,13 @@ jobs: run: echo "./release/install-root/usr/local/bin" >> $GITHUB_PATH - name: Install required packages run: brew install capnp ccache grpc icoutils makensis protobuf p7zip + - name: Install Host Qt + if: matrix.config.toolchain == 'ios' + uses: ./.github/actions/download-qt + with: + target: 'desktop' + toolchain: 'clang_64' + version: ${{ matrix.config.qtVersion }} - name: Install Qt uses: ./.github/actions/download-qt with: -- cgit v1.2.1