{"id":13599959,"url":"https://github.com/jurplel/install-qt-action","last_synced_at":"2026-04-08T07:02:21.734Z","repository":{"id":36206043,"uuid":"208932252","full_name":"jurplel/install-qt-action","owner":"jurplel","description":"Install Qt on your Github Actions workflows with just one simple action","archived":false,"fork":false,"pushed_at":"2025-11-15T10:49:49.000Z","size":34215,"stargazers_count":548,"open_issues_count":19,"forks_count":98,"subscribers_count":13,"default_branch":"master","last_synced_at":"2026-04-07T17:05:07.483Z","etag":null,"topics":["actions","github-actions","qt"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jurplel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-09-17T01:32:09.000Z","updated_at":"2026-04-05T18:00:47.000Z","dependencies_parsed_at":"2024-01-14T04:41:52.120Z","dependency_job_id":"87787b35-af69-4cac-b35a-1d2100e9eef7","html_url":"https://github.com/jurplel/install-qt-action","commit_stats":{"total_commits":371,"total_committers":28,"mean_commits":13.25,"dds":"0.41239892183288407","last_synced_commit":"5d50465bcd509eb41c9bc309cd4ed800e0a80e82"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":"actions/typescript-action","purl":"pkg:github/jurplel/install-qt-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurplel%2Finstall-qt-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurplel%2Finstall-qt-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurplel%2Finstall-qt-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurplel%2Finstall-qt-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jurplel","download_url":"https://codeload.github.com/jurplel/install-qt-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurplel%2Finstall-qt-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31544087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","github-actions","qt"],"created_at":"2024-08-01T17:01:21.474Z","updated_at":"2026-04-08T07:02:21.728Z","avatar_url":"https://github.com/jurplel.png","language":"TypeScript","funding_links":["https://liberapay.com/miurahr"],"categories":["TypeScript"],"sub_categories":[],"readme":"# `install-qt-action`\n\nInstalling Qt on Github Actions workflows manually is the worst.\n\nYou know what's easier than dealing with that? Just using this:\n```yml\n    - name: Install Qt\n      uses: jurplel/install-qt-action@v4\n```\n\nAll done.\n\n## Upgrade Guides\nEach new major version of this project includes changes that can break workflows written to use an older version of\nthis project. These changes are summarized here, to help you upgrade your existing workflows.\n\n[Upgrading `install-qt-action`](README_upgrade_guide.md)\n\n## Options\n\n### `version`\nThe desired version of Qt to install.\n\nYou can also pass in SimpleSpec version numbers, for example `6.2.*`.\n\nDefault: `6.8.3` (Last Qt 6 LTS)\n\n**Please note that for Linux builds, Qt 6+ requires Ubuntu 20.04 or later.**\n\n### `host`\nThis is the host platform of the Qt version you will be installing. It's unlikely that you will need to set this manually if you are just building.\n\nFor example, if you are building on Linux and targeting desktop, you would set host to `linux`. If you are building on Linux and targeting android, you would set host to `linux` also. The host platform is the platform that your application will build on, not its target platform.\n\nPossible values: `windows`, `windows_arm64`, `mac`, `linux`, `linux_arm64` or `all_os`.  \n`all_os` is used for wasm, and incompatible with `aqtinstall \u003c 3.2.0`.  \n\nDefaults to the current platform it is being run on.  \n\n\n### `target`\nThis is the target platform that you will be building for. You will want to set this if you are building for iOS or Android. Please note that iOS builds are supported only on macOS hosts and Win RT builds are only supported on Windows hosts.\n\nPossible values: `desktop`, `android`, `ios`, `winrt` or `wasm`.  \n`wasm` is used with `all_os`, and incompatible with `aqtinstall \u003c 3.2.0`.  \n\nDefault: `desktop`  \n\n\n### `arch`\nThis is the target architecture that your program will be built for.\n\n**Linux x86 packages are not supported by this action.** Qt does not offer pre-built Linux x86 packages. Please consider using your distro's repository or building it manually.\n\n**Possible values:**\n\nYou can find a full list of architectures easily by using [this awesome website](https://ddalcino.github.io/aqt-list-server/).\n\n**Default values:**\n\nWindows w/ Qt \u003c 5.6: `win64_msvc2013_64`\n\nWindows w/ Qt \u003e= 5.6 \u0026\u0026 Qt \u003c 5.9: `win64_msvc2015_64`\n\nWindows w/ Qt \u003e= 5.9 \u0026\u0026 Qt \u003c 5.15: `win64_msvc2017_64`\n\nWindows w/ Qt \u003e= 5.15 \u0026\u0026 Qt \u003c 6.8: `win64_msvc2019_64`\n\nWindows w/ Qt \u003e= 6.8: `win64_msvc2022_64`\n\nWindows (ARM64) w/ Qt \u003e= 6.8: `win64_msvc2022_arm64`\n\nAndroid: `android_armv7`\n\n### `dir`\nThis is the directory prefix that Qt will be installed to.\n\nFor example, if you set dir to `${{ github.workspace }}/example/`, your bin folder will be located at `$GITHUB_WORKSPACE/example/Qt/5.15.2/{arch}/bin`.\nWhen possible, access your Qt directory through the `QT_ROOT_DIR` environment variable; this will point to `$GITHUB_WORKSPACE/example/Qt/5.15.2/{arch}` in this case.\n\nDefault: `$RUNNER_WORKSPACE` (this is one folder above the starting directory)\n\n### `use-official` (since `v4.2.*`)\nWhether or not to use `aqtinstall` to install Qt using its official online installer (enabling the commercial versions for those owning a license). Incompatible with `aqtinstall \u003c 3.2.1`.  \nThe parameter `host` will then be ignored, as you can only install commercial Qt versions on the OS running the installer.  \nYou should use secrets, and store the fields `email` and `pw` inside `QT_EMAIL` and `QT_PW` for example to match the example below.  \n\nExample:\n```yml\n    - name: Install Qt\n      uses: jurplel/install-qt-action@v4\n      with:\n        version: '6.8.3'\n        target: 'desktop'\n        arch: 'win64_msvc2022_64'\n        use-official: true\n        email: ${{ secrets.QT_EMAIL }}\n        pw: ${{ secrets.QT_PW }}\n```\n\nDefault: `false`\n\n#### `email`\nIf `use-official` is true, will use this username/email to authenticate with Qt servers. Incompatible with `aqtinstall \u003c 3.2.1`.  \nYou should use secrets, and store the value inside `QT_EMAIL` for example to match the example above.\n\n#### `pw`\nIf `use-official` is true, will use this password to authenticate with Qt servers. Incompatible with `aqtinstall \u003c 3.2.1`.  \nYou should use secrets, and store the value inside `QT_PW` for example to match the example above.\n\n### `install-deps`\nWhether or not to automatically install Qt dependencies on Linux through `apt`.\n\nCan be set to `nosudo` to stop it from using sudo, for example on a docker container where the user already has sufficient privileges.\n\nDefault: `true`\n\n### `modules`\nString with whitespace delimited list of additional addon modules to install, with each entry separated by a space. If you need one of these, you'll know it.\n\nPossible values: `qtcharts`, `qtdatavis3d`, `qtpurchasing`, `qtvirtualkeyboard`, `qtwebengine`, `qtnetworkauth`, `qtwebglplugin`, `qtscript`, `debug_info`, and more\n\nDefault: none\n\n### `archives`\nString with whitespace delimited list of Qt archives to install, with each entry separated by a space. Typically you don't need this unless you are aiming for bare minimum installation. I would strongly advise reading the [aqtinstall docs](https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced) before using this feature.\n\nPossible values: `qtbase`, `qtsvg`, `qtdeclarative`, `qtgamepad`, `qtgraphicaleffects`, `qtimageformats`, `qtlocation`\n\nDefault: none\n\n### `cache`\n\nWhether to cache Qt automatically. If it is set to `true`, then Qt won't be downloaded if a cached version is available, but the environment variables will always be set, and essential build tools will always be installed.\n\nDefault: `false`\n\n### `cache-key-prefix`\n\nPrefix to be used for the cache key of the automatic cache.\n\nDefault: `install-qt-action`\n\n### `setup-python`\n\nSet this to false if you want to skip using setup-python to find/download a valid python version. If you are on a self-hosted runner, you will probably need to set this to false because setup-python [requires a very specific environment to work](https://github.com/actions/setup-python#using-setup-python-with-a-self-hosted-runner).\n\nDefault: `true`\n\n### `tools`\n\nQt \"tools\" to be installed.\nSpecify the tool name and tool variant name separated by commas, and separate multiple tools with spaces.\nIf you wish to install all tools available for a given tool name, you can leave off the tool variant name.\nI would advise reading the [aqtinstall docs](https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-tools) for more info on installing tools.\n\nFor example, this value will install the most recent versions of QtIFW and QtCreator: \n```\n    tools: 'tools_ifw tools_qtcreator,qt.tools.qtcreator'\n```\n\nYou can find a full list of tools easily by using [this awesome website](https://ddalcino.github.io/aqt-list-server/).\n\n### `add-tools-to-path`\n\nWhen set to `true`, and the `tools` parameter is non-empty,\nthe following paths will be prepended to the `PATH` variable: \n* `Tools/**/bin`\n* `*.app/Contents/MacOS`\n* `*.app/**/bin`\n\nMost tools end up in the `Tools` folder, and have a `bin` directory containing CLI tools.\nOn MacOS, several tools are packaged in `.app` bundles, and CLI tools are spread out among various `bin` folders\nand the `Contents/MacOS` folder.\n\nDistinct from, and not affected by, the `set-env` parameter.\n\nDefault: `true`\n\n### `source`\n\nSet this to `true` to install Qt source code. Incompatible with `aqtinstall \u003c 2.0.4`.\n\nDefault: `false`\n\n### `src-archives`\n\nString with whitespace delimited list of source archives to install, with each entry separated by a space.\nHas no effect unless `source` is set to `true`.\nUseful to limit download size.\n\nSee the `--archives` flag for [aqt install-src](https://aqtinstall.readthedocs.io/en/latest/cli.html#install-src-command) for more details.\nUse [aqt list-src](https://aqtinstall.readthedocs.io/en/latest/cli.html#list-src-command) to see available options.\n\nDefault: none\n\n### `documentation`\n\nSet this to `true` to install Qt documentation files. Incompatible with `aqtinstall \u003c 2.0.4`.\n\nDefault: `false`\n\n### `doc-archives`\n\nString with whitespace delimited list of documentation archives to install, with each entry separated by a space.\nHas no effect unless `documentation` is set to `true`.\nUseful to limit download size.\n\nSee the `--archives` flag for [aqt install-doc](https://aqtinstall.readthedocs.io/en/latest/cli.html#install-doc-command) for more details.\nUse [aqt list-doc](https://aqtinstall.readthedocs.io/en/latest/cli.html#list-doc-command) to see available options.\n\nDefault: none\n\n### `doc-modules`\n\nString with whitespace delimited list of documentation modules to install, with each entry separated by a space.\nHas no effect unless `documentation` is set to `true`.\nEach module contains extra documentation not included with the base installation.\n\nSee the `--modules` flag for [aqt install-doc](https://aqtinstall.readthedocs.io/en/latest/cli.html#install-doc-command) for more details.\nUse [aqt list-doc](https://aqtinstall.readthedocs.io/en/latest/cli.html#list-doc-command) to see available options.\n\nDefault: none\n\n### `examples`\n\nSet this to `true` to install Qt example code. Incompatible with `aqtinstall \u003c 2.0.4`.\n\nDefault: `false`\n\n### `example-archives`\n\nString with whitespace delimited list of example archives to install, with each entry separated by a space.\nHas no effect unless `examples` is set to `true`.\nUseful to limit download size.\n\nSee the `--archives` flag for [aqt install-example](https://aqtinstall.readthedocs.io/en/latest/cli.html#install-example-command) for more details.\nUse [aqt list-example](https://aqtinstall.readthedocs.io/en/latest/cli.html#list-example-command) to see available options.\n\nDefault: none\n\n### `example-modules`\n\nString with whitespace delimited list of example modules to install, with each entry separated by a space.\nHas no effect unless `examples` is set to `true`.\nEach module contains extra examples not included with the base installation.\n\nSee the `--modules` flag for [aqt install-example](https://aqtinstall.readthedocs.io/en/latest/cli.html#install-example-command) for more details.\nUse [aqt list-example](https://aqtinstall.readthedocs.io/en/latest/cli.html#list-example-command) to see available options.\n\nDefault: none\n\n### `set-env`\nSet this to false if you want to avoid setting environment variables for whatever reason.\nHas no effect on `tools` paths; to modify these you must use `add-tools-to-path`.\n\nDefault: `true`\n\n### `no-qt-binaries`\n\nSet this to true if you want to skip installing Qt. \nThis option is useful if you want to install tools, source, documentation, or examples.\n\nDefault: `false`\n\n### `tools-only`\n\nThis is a synonym for `no-qt-binaries`. It only exists to preserve backwards compatibility.\nIf you set either `no-qt-binaries` or `tools-only` to `true`, you will skip installation of Qt.\n\nDefault: `false`\n\n### `aqtsource`\n\nThe full specifier for a version of [aqtinstall](https://github.com/miurahr/aqtinstall) as passed to pip. For example: `git+https://github.com/miurahr/aqtinstall.git`. This is intended to be used to troubleshoot any bugs that might be caused or fixed by certain versions of aqtinstall. Note that when this is used, the value of `aqtversion` is ignored.\n\nBy default this is unset and ignored.\n\n### `aqtversion`\n\nVersion of [aqtinstall](https://github.com/miurahr/aqtinstall) to use, given in the format used by pip, for example: `==0.7.1`, `\u003e=0.7.1`, `==0.7.*`. This is intended to be used to troubleshoot any bugs that might be caused or fixed by certain versions of aqtinstall.\n\nDefault: `==3.3.*`\n\n### `py7zrversion`\nVersion of py7zr in the same style as the aqtversion and intended to be used for the same purpose.\n\nDefault: `==1.0.*`\n\n### `extra`\nThis input can be used to append arguments to the end of the aqtinstall command for any special purpose.\n\nExample value: `--external 7z`\n\n## Example with all arguments\n\n```yml\n    - name: Install Qt\n      uses: jurplel/install-qt-action@v4\n      with:\n        version: '6.8.3'\n        host: 'windows'\n        target: 'desktop'\n        arch: 'win64_msvc2022_64'\n        dir: '${{ github.workspace }}/example/'\n        install-deps: 'true'\n        modules: 'qtcharts qtwebengine'\n        archives: 'qtbase qtsvg'\n        cache: 'false'\n        cache-key-prefix: 'install-qt-action'\n        setup-python: 'true'\n        tools: 'tools_ifw tools_qtcreator,qt.tools.qtcreator'\n        set-env: 'true'\n        tools-only: 'false'\n        aqtversion: '==3.3.*'\n        py7zrversion: '==1.0.*'\n        extra: '--external 7z'\n        use-official: false\n        email: ${{ secrets.QT_EMAIL }}\n        pw: ${{ secrets.QT_PW }}\n```\n\n## More info\nFor more in-depth and certifiably up-to-date documentation, check the documentation for aqtinstall [here](https://aqtinstall.readthedocs.io/en/latest/getting_started.html).\n\nAny tools you installed with the `tools` key will be added to the beginning of your `PATH` environment variable.\nSpecifically, any `bin` directories within the tool's directory will be added.\nOn MacOS, if the tool is an app bundle, then the `.app/Contents/MacOS` folder will also be added to your `PATH`.\n\nThe Qt bin directory is appended to your `path` environment variable.\n`Qt5_DIR` is also set appropriately for CMake if you are using Qt 5.\nIn 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. `QT_HOST_PATH` is set if appropriate (WASM).\n\nSince the Qt bin directory is in your `path`, you will not need to set the `CMAKE_PREFIX_PATH` CMake variable.\nIf you wish to do so, you can set it to either `${QT_ROOT_DIR}` or to `${QT_ROOT_DIR}/lib/cmake`.\n\nBig thanks to the [aqtinstall](https://github.com/miurahr/aqtinstall/) developer for making this easy. Please go support [miurahr](https://github.com/miurahr/aqtinstall), he did all of the hard work here ([his liberapay](https://liberapay.com/miurahr)).\n\nThis action is distributed under the [MIT license](LICENSE).\n\nBy using this action, you agree to the terms of Qt's licensing. See [Qt licensing](https://www.qt.io/licensing/) and [Licenses used by Qt](https://doc.qt.io/qt-5/licenses-used-in-qt.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurplel%2Finstall-qt-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjurplel%2Finstall-qt-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurplel%2Finstall-qt-action/lists"}