{"id":16604885,"url":"https://github.com/jaredtao/helloactions-qt","last_synced_at":"2025-05-08T19:38:17.791Z","repository":{"id":37396957,"uuid":"222687003","full_name":"jaredtao/HelloActions-Qt","owner":"jaredtao","description":"Qt use github-actions(Qt项目使用github的持续集成)","archived":false,"fork":false,"pushed_at":"2022-11-19T08:47:30.000Z","size":79,"stargazers_count":157,"open_issues_count":5,"forks_count":81,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-31T17:55:01.944Z","etag":null,"topics":["github-actions","macos","qt","ubuntu","windows"],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","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/jaredtao.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}},"created_at":"2019-11-19T12:06:33.000Z","updated_at":"2025-03-10T00:53:36.000Z","dependencies_parsed_at":"2023-01-21T05:17:45.534Z","dependency_job_id":null,"html_url":"https://github.com/jaredtao/HelloActions-Qt","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FHelloActions-Qt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FHelloActions-Qt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FHelloActions-Qt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredtao%2FHelloActions-Qt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredtao","download_url":"https://codeload.github.com/jaredtao/HelloActions-Qt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253136414,"owners_count":21859784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["github-actions","macos","qt","ubuntu","windows"],"created_at":"2024-10-12T01:00:12.082Z","updated_at":"2025-05-08T19:38:17.752Z","avatar_url":"https://github.com/jaredtao.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HelloActions-Qt\n\n## 简介\n\n演示github中的Qt项目，使用CI持续集成(Github actions)\n\n## status\n| [Windows][win-link]| [Ubuntu][ubuntu-link]|[MacOS][macos-link]|[Android][android-link]|[IOS][ios-link]|\n|---------------|---------------|-----------------|-----------------|----------------|\n| ![win-badge]  | ![ubuntu-badge]      | ![macos-badge] |![android-badge]   |![ios-badge]   |\n\n\n|[License][license-link]| [Release][release-link]|[Download][download-link]|[Issues][issues-link]|[Wiki][wiki-links]|\n|-----------------|-----------------|-----------------|-----------------|-----------------|\n|![license-badge] |![release-badge] | ![download-badge]|![issues-badge]|![wiki-badge]|\n\n[win-link]: https://github.com/JaredTao/HelloActions-Qt/actions?query=workflow%3AWindows \"WindowsAction\"\n[win-badge]: https://github.com/JaredTao/HelloActions-Qt/workflows/Windows/badge.svg  \"Windows\"\n\n[ubuntu-link]: https://github.com/JaredTao/HelloActions-Qt/actions?query=workflow%3AUbuntu \"UbuntuAction\"\n[ubuntu-badge]: https://github.com/JaredTao/HelloActions-Qt/workflows/Ubuntu/badge.svg \"Ubuntu\"\n\n[macos-link]: https://github.com/JaredTao/HelloActions-Qt/actions?query=workflow%3AMacOS \"MacOSAction\"\n[macos-badge]: https://github.com/JaredTao/HelloActions-Qt/workflows/MacOS/badge.svg \"MacOS\"\n\n[android-link]: https://github.com/JaredTao/HelloActions-Qt/actions?query=workflow%3AAndroid \"AndroidAction\"\n[android-badge]: https://github.com/JaredTao/HelloActions-Qt/workflows/Android/badge.svg \"Android\"\n\n[ios-link]: https://github.com/JaredTao/HelloActions-Qt/actions?query=workflow%3AIOS \"IOSAction\"\n[ios-badge]: https://github.com/JaredTao/HelloActions-Qt/workflows/IOS/badge.svg \"IOS\"\n\n[release-link]: https://github.com/jaredtao/HelloActions-Qt/releases \"Release status\"\n[release-badge]: https://img.shields.io/github/release/jaredtao/HelloActions-Qt.svg?style=flat-square \"Release status\"\n\n[download-link]: https://github.com/jaredtao/HelloActions-Qt/releases/latest \"Download status\"\n[download-badge]: https://img.shields.io/github/downloads/jaredtao/HelloActions-Qt/total.svg?style=flat-square \"Download status\"\n\n[license-link]: https://github.com/jaredtao/HelloActions-Qt/blob/master/LICENSE \"LICENSE\"\n[license-badge]: https://img.shields.io/badge/license-MIT-blue.svg \"MIT\"\n\n\n[issues-link]: https://github.com/jaredtao/HelloActions-Qt/issues \"Issues\"\n[issues-badge]: https://img.shields.io/badge/github-issues-red.svg?maxAge=60 \"Issues\"\n\n[wiki-links]: https://github.com/jaredtao/HelloActions-Qt/wiki \"wiki\"\n[wiki-badge]: https://img.shields.io/badge/github-wiki-181717.svg?maxAge=60 \"wiki\"\n\n## 项目进度\n\n|Tag|功能|\n|--|--|\n|0.1.0|五个平台都能够自动编译|\n|0.1.1|配置文件拆分|\n|0.1.2|Windows可以自动打包、发布|\n|0.1.3|Windows和MacOS可以同时自动打包、发布|\n|0.2.0|增加Qt版本;更新打包功能|\n|0.2.1|增加Qt6.2.2 desktop版本|\n\n## 支持平台\n\n0.2.0版本开始，增强了平台和Qt版本的支持。\n\n以下列出通过验证并支持的编译环境：\n\n### Windows \n\nWindows 宿主平台是Server 2019,支持的目标环境包括:\n\nmsvc 版本：\n* Qt5.9.9-msvc2015-x86\n* Qt5.9.9-msvc2017-x64\n* Qt5.12.10-msvc2017-x86\n* Qt5.12.10-msvc2017-x64\n* Qt5.15.2-msvc2019-x86\n* Qt5.15.2-msvc2019-x64\n* Qt6.0.0-msvc2019-x64\n* Qt6.2.2-msvc2019-x64\n\nmingw版本：\n\n* Qt5.9.9 mingw53_32\n* Qt5.10.1 mingw53_32\n* Qt5.11.3 mingw53_32\n* Qt5.12.10 mingw73_32\n* Qt5.12.10 mingw73_64 \n* Qt5.13.2 mingw73_32\n* Qt5.13.2 mingw73_64\n* Qt5.14.2 mingw73_32\n* Qt5.14.2 mingw73_64\n* Qt5.15.2 mingw81_32\n* Qt5.15.2 mingw81_64\n* Qt6.0.0 mingw81_64\n* Qt6.2.2 mingw90_64\n\n(mingw版本由热心网友[Mozi](https://github.com/pzhlkj6612)提供初版，在此表示感谢!)\n\n### MacOS\n\nMacOS平台以MacOS 10.15 为主, 11.0存在一些问题,尚未解决,暂不公开。\n\nQt版本包括：\n\n* Qt 5.9.9\n* Qt 5.12.10\n* Qt 5.15.2\n* Qt 6.2.2\n  \n架构都是clang_64\n\n### Ubuntu\n\nUbuntu平台的支持情况如下:\n\nubuntu-18.04\n\n* Qt 5.9.9\n* Qt 5.12.10\n* Qt 5.15.2\n  \nubuntu-20.04\n\n* Qt 5.9.9\n* Qt 5.12.10\n* Qt 5.15.2\n* Qt 6.2.2 \n    \n架构都是gcc_64\n\n### Android\n\nAndroid的宿主平台用Ubuntu 20.04，\n\n验证通过的平台如下：\n\n* Qt5.12.10 android x86\n* Qt5.12.10 android armv7\n* Qt5.12.10 android arm64_v8a\n* Qt5.15.2 android (default, any-multi)\n  \nandroid 仅验证编译，暂未处理部署。\n\nQt6.2.2 工具包存在映射问题，暂不能用。\n\n### IOS\n\n\nios 的宿主平台用 macos 10.15\n\n验证通过的平台如下:\n\n* Qt5.12.10\n* Qt5.15.2\n\nios仅验证编译，暂未处理部署\n\nQt6.2.2 工具包存在映射问题，暂不能用。\n\n### 打包脚本\n\n目前仅提供Windows平台和MacOS平台的打包配置，其它平台使用频率不高，未做支持。\n\nMacOS平台是简单的 macdeployqt命令调用，生成的dmg上传。\n\nWindows平台做了'私有部署'，也就是带上全套dll(c# 及msdn中这么叫的)，\n\n可以参考scripts/windows-publish.ps1 脚本。\n\n调用windeployqt命令后，还会拷贝编译器的vcredist相关dll和windows kit运行时\n\ndll，以此来保证在大部分Windows环境都能正常运行。\n\n运行时相关的dll文件数量多，但是体积加起来并不大。\n\n笔者经历过一些特殊的windows环境，无法通过redist.exe正确安装运行时。\n\n所以带上全套的dll是一个万能的解决方案。\n\n## 原理\n\n可以参考博客文章或知乎专栏\n\n[博客-Qt使用githubActions自动化编译](https://jaredtao.github.io/2019/11/19/Qt%E4%BD%BF%E7%94%A8github-Actions%E8%87%AA%E5%8A%A8%E5%8C%96%E7%BC%96%E8%AF%91/)\n\n[博客-Qt使用githubActions自动化发布](https://jaredtao.github.io/2019/12/03/Qt%E4%BD%BF%E7%94%A8github-Actions%E8%87%AA%E5%8A%A8%E5%8C%96%E5%8F%91%E8%A1%8C/)\n\n[知乎-Qt使用githubActions自动化编译](https://zhuanlan.zhihu.com/p/92733295)\n\n[知乎-Qt使用githubActions自动化发布](https://zhuanlan.zhihu.com/p/95926317)\n\n[知乎-Qt使用githubActions缓存优化](https://zhuanlan.zhihu.com/p/95945405)\n### Qt项目的编译流程\n\n1. 安装Qt环境\n\n这一步用Actions模板：jurplel/install-qt-action\n\n2. 获取项目代码\n\n这一步用Actions官方核心模板：actions/checkout@v2\n\n3. 执行qmake、make\n\n这一步用自定义脚本，可以换成qbs、cmake、gn、ninja等构建工具\n\n4. 执行test\n\n这一步可以引入单元测试、自动化UI测试等。(暂不提供方案)\n\n5. 执行deployment\n\n这一步执行发布流程，可以参考博客教程\n\n## 答疑和技术支持\n\nQQ群：734623697\n\n## 联系方式\n\n***\n\n| 作者 | 涛哥                           |\n| ---- | -------------------------------- |\n|开发理念 | 传承工匠精神 |\n| 博客 | https://jaredtao.github.io/ |\n|博客-国内镜像|https://jaredtao.gitee.io|\n|知乎专栏| https://zhuanlan.zhihu.com/TaoQt |\n|QQ群| 734623697(高质量群，只能交流技术、分享书籍、帮助解决实际问题）|\n| 邮箱 | jared2020@163.com                |\n| 微信 | xsd2410421                       |\n| QQ、TIM | 759378563                      |\n***\n\nQQ(TIM)、微信二维码\n\n\u003cimg src=\"https://gitee.com/jaredtao/jaredtao/raw/master/img/qq_connect.jpg?raw=true\" width=\"30%\" height=\"30%\" /\u003e\u003cimg src=\"https://gitee.com/jaredtao/jaredtao/raw/master/img/weixin_connect.jpg?raw=true\" width=\"30%\" height=\"30%\" /\u003e\n\n\n****** 请放心联系我，乐于提供咨询服务，也可洽谈有偿技术支持相关事宜。\n\n***\n## 赞助\n\u003cimg src=\"https://gitee.com/jaredtao/jaredtao/raw/master/img/weixin.jpg?raw=true\" width=\"30%\" height=\"30%\" /\u003e\u003cimg src=\"https://gitee.com/jaredtao/jaredtao/raw/master/img/zhifubao.jpg?raw=true\" width=\"30%\" height=\"30%\" /\u003e\n\n****** 觉得分享的内容还不错, 就请作者喝杯奶茶吧~~\n***\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredtao%2Fhelloactions-qt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredtao%2Fhelloactions-qt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredtao%2Fhelloactions-qt/lists"}