Skip to content

Commit d325aaf

Browse files
committed
Build v4.3.0
1 parent 344503d commit d325aaf

File tree

7 files changed

+52
-42
lines changed

7 files changed

+52
-42
lines changed

action/lib/main.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,21 @@ const getPythonOutput = (command, args) => __awaiter(void 0, void 0, void 0, fun
9595
const flaggedList = (flag, listArgs) => {
9696
return listArgs.length ? [flag, ...listArgs] : [];
9797
};
98-
const locateQtArchDir = (installDir) => {
98+
const locateQtArchDir = (installDir, host) => {
9999
// For 6.4.2/gcc, qmake is at 'installDir/6.4.2/gcc_64/bin/qmake'.
100100
// This makes a list of all the viable arch directories that contain a qmake file.
101101
const qtArchDirs = glob
102102
.sync(`${installDir}/[0-9]*/*/bin/qmake*`)
103103
.map((s) => path.resolve(s, "..", ".."));
104-
// For Qt6 mobile and wasm installations, and Qt6 Windows on ARM installations,
104+
// For Qt6 mobile and wasm installations, and Qt6 Windows on ARM cross-compiled installations,
105105
// a standard desktop Qt installation must exist alongside the requested architecture.
106106
// In these cases, we must select the first item that ends with 'android*', 'ios', 'wasm*' or 'msvc*_arm64'.
107107
const requiresParallelDesktop = qtArchDirs.filter((archPath) => {
108108
const archDir = path.basename(archPath);
109109
const versionDir = path.basename(path.join(archPath, ".."));
110-
return (versionDir.match(/^6\.\d+\.\d+$/) && archDir.match(/^(android.*|ios|wasm.*|msvc.*_arm64)$/));
110+
return (versionDir.match(/^6\.\d+\.\d+$/) &&
111+
(archDir.match(/^(android.*|ios|wasm.*)$/) ||
112+
(archDir.match(/^msvc.*_arm64$/) && host !== "windows_arm64")));
111113
});
112114
if (requiresParallelDesktop.length) {
113115
// NOTE: if multiple mobile/wasm installations coexist, this may not select the desired directory
@@ -133,26 +135,31 @@ class Inputs {
133135
if (!host) {
134136
switch (process.platform) {
135137
case "win32": {
136-
this.host = "windows";
138+
this.host = process.arch === "arm64" ? "windows_arm64" : "windows";
137139
break;
138140
}
139141
case "darwin": {
140142
this.host = "mac";
141143
break;
142144
}
143145
default: {
144-
this.host = "linux";
146+
this.host = process.arch === "arm64" ? "linux_arm64" : "linux";
145147
break;
146148
}
147149
}
148150
}
149151
else {
150152
// Make sure host is one of the allowed values
151-
if (host === "windows" || host === "mac" || host === "linux" || host === "all_os") {
153+
if (host === "windows" ||
154+
host === "windows_arm64" ||
155+
host === "mac" ||
156+
host === "linux" ||
157+
host === "linux_arm64" ||
158+
host === "all_os") {
152159
this.host = host;
153160
}
154161
else {
155-
throw TypeError(`host: "${host}" is not one of "windows" | "mac" | "linux" | "all_os"`);
162+
throw TypeError(`host: "${host}" is not one of "windows" | "windows_arm64" | "mac" | "linux" | "linux_arm64" | "all_os"`);
156163
}
157164
}
158165
const target = core.getInput("target");
@@ -194,6 +201,9 @@ class Inputs {
194201
this.arch = "win64_msvc2017_64";
195202
}
196203
}
204+
else if (this.host === "windows_arm64") {
205+
this.arch = "win64_msvc2022_arm64";
206+
}
197207
}
198208
const dir = core.getInput("dir") || process.env.RUNNER_WORKSPACE;
199209
if (!dir) {
@@ -436,7 +446,7 @@ const run = () => __awaiter(void 0, void 0, void 0, function* () {
436446
}
437447
// Set environment variables/outputs for binaries
438448
if (inputs.isInstallQtBinaries) {
439-
const [qtPath, requiresParallelDesktop] = locateQtArchDir(inputs.dir);
449+
const [qtPath, requiresParallelDesktop] = locateQtArchDir(inputs.dir, inputs.host);
440450
// Set outputs
441451
core.setOutput("qtPath", qtPath);
442452
// Set env variables

action/node_modules/.package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

action/node_modules/undici/lib/cookies/index.js

Lines changed: 3 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

action/node_modules/undici/lib/cookies/util.js

Lines changed: 9 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

action/node_modules/undici/lib/fetch/headers.js

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

action/node_modules/undici/lib/pool.js

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

action/node_modules/undici/package.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)