From bb6c4c09b9ed2ae083e3a244902afb899f7f11bd Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Wed, 22 Mar 2023 17:52:02 -0700 Subject: [PATCH 01/18] Test that PATH includes installed tools --- .github/workflows/test.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 21c692d6..591cbce3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -193,15 +193,13 @@ jobs: - name: Test installed tools if: ${{ matrix.qt.tools-only-build }} - env: - # Conditionally set qtcreator path based on os: - QTCREATOR_BIN_PATH: ${{ startsWith(matrix.os, 'macos') && '../Qt/Qt Creator.app/Contents/MacOS/' || '../Qt/Tools/QtCreator/bin/' }} shell: bash run: | + echo "Path: ${PATH}" # Check if QtIFW is installed - ls ../Qt/Tools/QtInstallerFramework/*/bin/ - ../Qt/Tools/QtInstallerFramework/*/bin/archivegen --version + which archivegen + archivegen --version # Check if QtCreator is installed: QtCreator includes the CLI program 'qbs' on all 3 platforms - ls "${QTCREATOR_BIN_PATH}" - "${QTCREATOR_BIN_PATH}qbs" --version + which qbs + qbs --version From e5665bf9116752d2a4e6845cb1423c77631fa578 Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Wed, 22 Mar 2023 18:35:36 -0700 Subject: [PATCH 02/18] Automatically add installed tools to PATH --- action/src/main.ts | 7 +++++++ action/tsconfig.json | 1 + 2 files changed, 8 insertions(+) diff --git a/action/src/main.ts b/action/src/main.ts index a49c96ca..ee96f95b 100644 --- a/action/src/main.ts +++ b/action/src/main.ts @@ -25,6 +25,12 @@ const setOrAppendEnvVar = (name: string, value: string): void => { core.exportVariable(name, newValue); }; +const toolsPaths = (installDir: string): string => + ["Tools/**/bin", "*.app/Contents/MacOS", "*.app/**/bin"] + .flatMap((p: string): string[] => glob.sync(`${installDir}/${p}`)) + .map(nativePath) + .join(":"); + const pythonCommand = (command: string, args: readonly string[]): string => { const python = process.platform === "win32" ? "python" : "python3"; return `${python} -m ${command} ${args.join(" ")}`; @@ -405,6 +411,7 @@ const run = async (): Promise => { if (inputs.setEnv) { if (inputs.tools.length) { core.exportVariable("IQTA_TOOLS", nativePath(`${inputs.dir}/Tools`)); + setOrAppendEnvVar("PATH", toolsPaths(inputs.dir)); } if (inputs.isInstallQtBinaries) { const qtPath = nativePath(locateQtArchDir(inputs.dir)); diff --git a/action/tsconfig.json b/action/tsconfig.json index 9ecff867..7342096e 100644 --- a/action/tsconfig.json +++ b/action/tsconfig.json @@ -20,6 +20,7 @@ // "importHelpers": true, /* Import emit helpers from 'tslib'. */ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + "lib": ["ES2019"], /* Strict Type-Checking Options */ "strict": true, /* Enable all strict type-checking options. */ From fecb1ce8022f0818d14295058d59e9ec6bdc591b Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Thu, 23 Mar 2023 05:41:49 -0700 Subject: [PATCH 03/18] Prepend tool paths --- action/src/main.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/action/src/main.ts b/action/src/main.ts index ee96f95b..57e7496e 100644 --- a/action/src/main.ts +++ b/action/src/main.ts @@ -25,11 +25,10 @@ const setOrAppendEnvVar = (name: string, value: string): void => { core.exportVariable(name, newValue); }; -const toolsPaths = (installDir: string): string => - ["Tools/**/bin", "*.app/Contents/MacOS", "*.app/**/bin"] - .flatMap((p: string): string[] => glob.sync(`${installDir}/${p}`)) - .map(nativePath) - .join(":"); +const toolsPaths = (installDir: string): string[] => + ["Tools/**/bin", "*.app/Contents/MacOS", "*.app/**/bin"].flatMap((p: string): string[] => + glob.sync(`${installDir}/${p}`) + ); const pythonCommand = (command: string, args: readonly string[]): string => { const python = process.platform === "win32" ? "python" : "python3"; @@ -411,7 +410,7 @@ const run = async (): Promise => { if (inputs.setEnv) { if (inputs.tools.length) { core.exportVariable("IQTA_TOOLS", nativePath(`${inputs.dir}/Tools`)); - setOrAppendEnvVar("PATH", toolsPaths(inputs.dir)); + toolsPaths(inputs.dir).map(nativePath).forEach(core.addPath); } if (inputs.isInstallQtBinaries) { const qtPath = nativePath(locateQtArchDir(inputs.dir)); From 00267ae1e79b447a928524a1ff02d2169254a4ce Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Mon, 8 May 2023 19:32:14 -0700 Subject: [PATCH 04/18] document tools paths --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 71698b41..04a48d5f 100644 --- a/README.md +++ b/README.md @@ -261,6 +261,10 @@ Example value: `--external 7z` ## More info For more in-depth and certifiably up-to-date documentation, check the documentation for aqtinstall [here](https://aqtinstall.readthedocs.io/en/latest/getting_started.html). +Any tools you installed with the `tools` key will be added to the beginning of your `PATH` environment variable. +Specifically, any `bin` directories within the tool's directory will be added. +On MacOS, if the tool is an app bundle, then the `.app/Contents/MacOS` folder will also be added to your `PATH`. + The Qt bin directory is appended to your `path` environment variable. `Qt5_DIR` is also set appropriately for CMake if you are using Qt 5. In addition, `QT_PLUGIN_PATH`, `QML2_IMPORT_PATH`, `PKG_CONFIG_PATH` and `LD_LIBRARY_PATH` are set accordingly. `IQTA_TOOLS` is set to the "Tools" directory if tools are installed as well. From 9392dfe259584d6b6144ee7376671d5106d85528 Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Mon, 8 May 2023 19:38:26 -0700 Subject: [PATCH 05/18] Add warning about clobbered tool paths --- README_upgrade_guide.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README_upgrade_guide.md b/README_upgrade_guide.md index 537b9f11..fce90694 100644 --- a/README_upgrade_guide.md +++ b/README_upgrade_guide.md @@ -15,6 +15,12 @@ If your action uses this variable for any other purpose, you should update it to use `QT_ROOT_DIR` instead. * Removed the `Qt5_Dir` and `Qt6_DIR` environment variables, because they are not used by CMake. If your action uses these variables, you should update them to use `QT_ROOT_DIR` instead. +* Any tools you installed with the `tools` key will be added to the beginning of your `PATH` environment variable. + Specifically, any `bin` directories within the tool's directory will be added. + On MacOS, if the tool is an app bundle, then the `.app/Contents/MacOS` folder will also be added to your `PATH`. + You should take care to investigate the order of the new `PATH` variable to make sure that the tools you are using + are not clobbered by tools in some other path. You may need to rearrange the order of your workflow steps, so that + any clobbered tools are added to the path later than the ones added by this action. ## v3 * Updated `aqtinstall` to version 2.1.* by default. From 41b28c6496c1c51c4ea29403cad550f8b93902ab Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Mon, 15 May 2023 18:39:19 -0700 Subject: [PATCH 06/18] Test `add-tools-to-path` option --- .github/workflows/test.yml | 24 +++++++++++++++++++++++- action.yml | 4 ++++ action/action.yml | 3 +++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 591cbce3..cde7c49c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -51,6 +51,7 @@ jobs: # In Qt 6.2.0+, qtwebengine requires qtpositioning and qtwebchannel modules: qtwebengine qtpositioning qtwebchannel - tools-only-build: true + add-tools-to-path: true cache: - cached - uncached @@ -81,6 +82,10 @@ jobs: version: "5.15.2" requested: "5.15" modules: qtwebengine + - os: ubuntu-22.04 + qt: + tools-only-build: true + add-tools-to-path: false steps: @@ -189,10 +194,11 @@ jobs: with: tools-only: true tools: tools_ifw tools_qtcreator,qt.tools.qtcreator + add-tools-to-path: ${{ matrix.qt.add-tools-to-path }} cache: ${{ matrix.cache == 'cached' }} - name: Test installed tools - if: ${{ matrix.qt.tools-only-build }} + if: ${{ matrix.qt.tools-only-build && matrix.qt.add-tools-to-path }} shell: bash run: | echo "Path: ${PATH}" @@ -203,3 +209,19 @@ jobs: # Check if QtCreator is installed: QtCreator includes the CLI program 'qbs' on all 3 platforms which qbs qbs --version + + - name: Test that installed tools are not in the path + if: ${{ matrix.qt.tools-only-build && !matrix.qt.add-tools-to-path }} + shell: bash + run: | + echo "Path: ${PATH}" + # Check that QtIFW has been installed + ls ../Qt/Tools/QtInstallerFramework/*/bin/ | grep archivegen + + # Check that QtIFW is not in the path + ! which archivegen + ! archivegen --version + + # Check that qbs (from QtCreator) is not in the path + ! which qbs + ! qbs --version diff --git a/action.yml b/action.yml index 3e3837b7..0b935825 100644 --- a/action.yml +++ b/action.yml @@ -39,6 +39,9 @@ inputs: -- specify comma-separated argument lists which are themselves separated by spaces: ,, + add-tools-to-path: + default: true + description: When true, prepends directories of tools to PATH environment variable. set-env: default: true description: Whether or not to set environment variables after running aqtinstall @@ -98,6 +101,7 @@ runs: cache: ${{ inputs.cache }} cache-key-prefix: ${{ inputs.cache-key-prefix }} tools: ${{ inputs.tools }} + add-tools-to-path: ${{ inputs.add-tools-to-path }} set-env: ${{ inputs.set-env }} no-qt-binaries: ${{ inputs.no-qt-binaries }} tools-only: ${{ inputs.tools-only }} diff --git a/action/action.yml b/action/action.yml index 7e2d2852..d69a62df 100644 --- a/action/action.yml +++ b/action/action.yml @@ -36,6 +36,9 @@ inputs: -- specify comma-separated argument lists which are themselves separated by spaces: ,, + add-tools-to-path: + default: true + description: When true, prepends directories of tools to PATH environment variable. set-env: default: true description: Whether or not to set environment variables after running aqtinstall From e339d9c14361f7be53bddc66a6937d97e84ea7e6 Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Mon, 15 May 2023 20:59:11 -0700 Subject: [PATCH 07/18] document add-tools-to-path parameter --- README.md | 17 +++++++++++++++++ README_upgrade_guide.md | 8 +++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 04a48d5f..ebb8d7ed 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,22 @@ For example, this value will install the most recent versions of QtIFW and QtCre You can find a full list of tools easily by using [this awesome website](https://ddalcino.github.io/aqt-list-server/). +### `add-tools-to-path` + +When set to `true`, and the `tools` parameter is non-empty, +the following paths will be prepended to the `PATH` variable: +* `Tools/**/bin` +* `*.app/Contents/MacOS` +* `*.app/**/bin` + +Most tools end up in the `Tools` folder, and have a `bin` directory containing CLI tools. +On MacOS, several tools are packaged in `.app` bundles, and CLI tools are spread out among various `bin` folders +and the `Contents/MacOS` folder. + +Distinct from, and not affected by, the `set-env` parameter. + +Default: `true` + ### `source` Set this to `true` to install Qt source code. Incompatible with `aqtinstall < 2.0.4`. @@ -200,6 +216,7 @@ Default: none ### `set-env` Set this to false if you want to avoid setting environment variables for whatever reason. +Has no effect on `tools` paths; to modify these you must use `add-tools-to-path`. Default: `true` diff --git a/README_upgrade_guide.md b/README_upgrade_guide.md index fce90694..66e8f56e 100644 --- a/README_upgrade_guide.md +++ b/README_upgrade_guide.md @@ -18,9 +18,11 @@ * Any tools you installed with the `tools` key will be added to the beginning of your `PATH` environment variable. Specifically, any `bin` directories within the tool's directory will be added. On MacOS, if the tool is an app bundle, then the `.app/Contents/MacOS` folder will also be added to your `PATH`. - You should take care to investigate the order of the new `PATH` variable to make sure that the tools you are using - are not clobbered by tools in some other path. You may need to rearrange the order of your workflow steps, so that - any clobbered tools are added to the path later than the ones added by this action. + * You should take care to investigate the order of the new `PATH` variable to make sure that the tools you are using + are not clobbered by tools in some other path. You may need to rearrange the order of your workflow steps, so that + any clobbered tools are added to the path later than the ones added by this action. + * If the added tool paths are still causing trouble, you can remove them from the `PATH` by setting + `add-tools-to-path: false`. ## v3 * Updated `aqtinstall` to version 2.1.* by default. From 151b2aa2941fb8532c2334a5ab978a56d41242f1 Mon Sep 17 00:00:00 2001 From: Dave Dalcino Date: Mon, 15 May 2023 20:59:22 -0700 Subject: [PATCH 08/18] implement add-tools-to-path parameter --- action/src/main.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/action/src/main.ts b/action/src/main.ts index 57e7496e..8b90875d 100644 --- a/action/src/main.ts +++ b/action/src/main.ts @@ -88,6 +88,7 @@ class Inputs { readonly modules: string[]; readonly archives: string[]; readonly tools: string[]; + readonly addToolsToPath: boolean; readonly extra: string[]; readonly src: boolean; @@ -189,6 +190,8 @@ class Inputs { (tool: string): string => tool.replace(/,/g, " ") ); + this.addToolsToPath = Inputs.getBoolInput("add-tools-to-path"); + this.extra = Inputs.getStringArrayInput("extra"); const installDeps = core.getInput("install-deps").toLowerCase(); @@ -406,11 +409,15 @@ const run = async (): Promise => { core.info(`Automatic cache saved with id ${cacheId}`); } + // Add tools to path + if (inputs.addToolsToPath && inputs.tools.length) { + toolsPaths(inputs.dir).map(nativePath).forEach(core.addPath); + } + // Set environment variables if (inputs.setEnv) { if (inputs.tools.length) { core.exportVariable("IQTA_TOOLS", nativePath(`${inputs.dir}/Tools`)); - toolsPaths(inputs.dir).map(nativePath).forEach(core.addPath); } if (inputs.isInstallQtBinaries) { const qtPath = nativePath(locateQtArchDir(inputs.dir)); From 5a60163e346aa85888552f0384c47d48502736f2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 9 Jul 2023 09:29:11 +0000 Subject: [PATCH 09/18] Bump tough-cookie and @azure/ms-rest-js in /action Removes [tough-cookie](https://github.com/salesforce/tough-cookie). It's no longer used after updating ancestor dependency [@azure/ms-rest-js](https://github.com/Azure/ms-rest-js). These dependencies need to be updated together. Removes `tough-cookie` Updates `@azure/ms-rest-js` from 2.6.6 to 2.7.0 - [Changelog](https://github.com/Azure/ms-rest-js/blob/master/Changelog.md) - [Commits](https://github.com/Azure/ms-rest-js/commits) --- updated-dependencies: - dependency-name: tough-cookie dependency-type: indirect - dependency-name: "@azure/ms-rest-js" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- action/package-lock.json | 64 ++++++---------------------------------- 1 file changed, 9 insertions(+), 55 deletions(-) diff --git a/action/package-lock.json b/action/package-lock.json index 04c74877..5b2841ae 100644 --- a/action/package-lock.json +++ b/action/package-lock.json @@ -260,15 +260,14 @@ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/@azure/ms-rest-js": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.6.6.tgz", - "integrity": "sha512-WYIda8VvrkZE68xHgOxUXvjThxNf1nnGPPe0rAljqK5HJHIZ12Pi3YhEDOn3Ge7UnwaaM3eFO0VtAy4nGVI27Q==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.7.0.tgz", + "integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==", "dependencies": { "@azure/core-auth": "^1.1.4", "abort-controller": "^3.0.0", "form-data": "^2.5.0", "node-fetch": "^2.6.7", - "tough-cookie": "^3.0.1", "tslib": "^1.10.0", "tunnel": "0.0.6", "uuid": "^8.3.2", @@ -1465,14 +1464,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1817,15 +1808,11 @@ "node": ">= 0.6.0" } }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, "engines": { "node": ">=6" } @@ -2016,19 +2003,6 @@ "node": ">=8.0" } }, - "node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -2423,15 +2397,14 @@ } }, "@azure/ms-rest-js": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.6.6.tgz", - "integrity": "sha512-WYIda8VvrkZE68xHgOxUXvjThxNf1nnGPPe0rAljqK5HJHIZ12Pi3YhEDOn3Ge7UnwaaM3eFO0VtAy4nGVI27Q==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.7.0.tgz", + "integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==", "requires": { "@azure/core-auth": "^1.1.4", "abort-controller": "^3.0.0", "form-data": "^2.5.0", "node-fetch": "^2.6.7", - "tough-cookie": "^3.0.1", "tslib": "^1.10.0", "tunnel": "0.0.6", "uuid": "^8.3.2", @@ -3305,11 +3278,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3553,15 +3521,11 @@ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "queue-microtask": { "version": "1.2.3", @@ -3675,16 +3639,6 @@ "is-number": "^7.0.0" } }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", From 844469d64b36ee72e7288d9e480ad78f77a026c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 04:35:49 +0000 Subject: [PATCH 10/18] Bump semver from 6.3.0 to 6.3.1 in /action Bumps [semver](https://github.com/npm/node-semver) from 6.3.0 to 6.3.1. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v6.3.1/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v6.3.0...v6.3.1) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] --- action/package-lock.json | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/action/package-lock.json b/action/package-lock.json index 04c74877..61390674 100644 --- a/action/package-lock.json +++ b/action/package-lock.json @@ -496,9 +496,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -621,9 +621,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1925,9 +1925,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -2618,9 +2618,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -2683,9 +2683,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -3611,9 +3611,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "shebang-command": { "version": "2.0.0", From 1abd42c4196b6eb7744a4b1c2496977979985908 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 20:33:43 +0000 Subject: [PATCH 11/18] Bump word-wrap from 1.2.3 to 1.2.4 in /action Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] --- action/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/action/package-lock.json b/action/package-lock.json index 04c74877..df6d3a31 100644 --- a/action/package-lock.json +++ b/action/package-lock.json @@ -2153,9 +2153,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -3774,9 +3774,9 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true }, "wrappy": { From 33a804ff32dc0e09dd7c47c914ffcfb6df35d7b9 Mon Sep 17 00:00:00 2001 From: pionere Date: Thu, 25 Jan 2024 09:15:29 +0100 Subject: [PATCH 12/18] update version of setup-python --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 0b935825..acf8d9e5 100644 --- a/action.yml +++ b/action.yml @@ -83,7 +83,7 @@ runs: steps: - name: Setup Python if: ${{ inputs.setup-python == 'true' }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.6.x - 3.11.x' From 16c52b8e203d88ed70ef24e186b88dc611373cb8 Mon Sep 17 00:00:00 2001 From: Igor Khanin Date: Sat, 27 Jan 2024 00:35:46 +0200 Subject: [PATCH 13/18] Add libxcb-cursor0 to Linux dependencies for Qt 6.5 and up --- action/src/main.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/action/src/main.ts b/action/src/main.ts index 227e834d..73fff410 100644 --- a/action/src/main.ts +++ b/action/src/main.ts @@ -308,9 +308,14 @@ const run = async (): Promise => { "libxkbcommon-dev", "libxkbcommon-x11-0", "libxcb-xkb-dev", - ].join(" "); + ]; + + if (compareVersions(inputs.version, ">=", "6.5.0")) { + dependencies.push("libxcb-cursor0"); + } + const updateCommand = "apt-get update"; - const installCommand = `apt-get install ${dependencies} -y`; + const installCommand = `apt-get install ${dependencies.join(" ")} -y`; if (inputs.installDeps === "nosudo") { await exec(updateCommand); await exec(installCommand); From e9a7058870a95ddf28367154df47bf6cfe9a89ac Mon Sep 17 00:00:00 2001 From: Mozi <29089388+pzhlkj6612@users.noreply.github.com> Date: Sun, 28 Jan 2024 14:07:11 +0800 Subject: [PATCH 14/18] Update node.js version to 18; update CI dependencies to remove warnings --- .github/workflows/test-android.yml | 6 +++--- .github/workflows/test.yml | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index 31b76cca..939c8021 100644 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -25,11 +25,11 @@ jobs: example-modules: qtsensors steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 18 cache: npm cache-dependency-path: action/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cde7c49c..3608e790 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,11 +6,11 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 18 cache: npm cache-dependency-path: action/ @@ -89,11 +89,11 @@ jobs: steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 18 cache: npm cache-dependency-path: action/ From 1401fde835114a4d1fc14b0ccfd9b00330312e28 Mon Sep 17 00:00:00 2001 From: Mozi <29089388+pzhlkj6612@users.noreply.github.com> Date: Sun, 28 Jan 2024 14:38:37 +0800 Subject: [PATCH 15/18] Update node.js version to 20 Per https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/ --- .github/workflows/test-android.yml | 2 +- .github/workflows/test.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index 939c8021..3b353edd 100644 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -29,7 +29,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm cache-dependency-path: action/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3608e790..2e65c95c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm cache-dependency-path: action/ @@ -93,7 +93,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm cache-dependency-path: action/ From 76410100d938e78c6fd3f4fe9586bb7bcee9d992 Mon Sep 17 00:00:00 2001 From: Mozi <29089388+pzhlkj6612@users.noreply.github.com> Date: Sun, 28 Jan 2024 15:06:48 +0800 Subject: [PATCH 16/18] Update the node.js runtime to node.js 20 Thanks to @MehdiChinoune . Per https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runs-for-javascript-actions --- action/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action/action.yml b/action/action.yml index d69a62df..334d0075 100644 --- a/action/action.yml +++ b/action/action.yml @@ -76,5 +76,5 @@ inputs: example-modules: description: Space-separated list of additional example modules to install. runs: - using: node16 + using: node20 main: lib/main.js From 77e470388be01525d13f12e9e2f2be1b08cf72e2 Mon Sep 17 00:00:00 2001 From: Benjamin O Date: Tue, 6 Feb 2024 14:49:47 -0500 Subject: [PATCH 17/18] Add quick comment --- action/src/main.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/action/src/main.ts b/action/src/main.ts index 73fff410..abf64a7c 100644 --- a/action/src/main.ts +++ b/action/src/main.ts @@ -310,6 +310,8 @@ const run = async (): Promise => { "libxcb-xkb-dev", ]; + // Qt 6.5.0 adds this requirement: + // https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.5.0/release-note.md if (compareVersions(inputs.version, ">=", "6.5.0")) { dependencies.push("libxcb-cursor0"); } From 9acccdaf5f7c2085d8fae91f7b95a937069261d4 Mon Sep 17 00:00:00 2001 From: Benjamin O Date: Tue, 6 Feb 2024 15:02:03 -0500 Subject: [PATCH 18/18] Add qt path output (resolves #217) --- action/src/main.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/action/src/main.ts b/action/src/main.ts index abf64a7c..1d2bcb9b 100644 --- a/action/src/main.ts +++ b/action/src/main.ts @@ -445,6 +445,8 @@ const run = async (): Promise => { core.addPath(nativePath(`${qtPath}/bin`)); } } + // Expose outputs + core.setOutput("qtPath", qtPath); } catch (error) { if (error instanceof Error) { core.setFailed(error);