All Projects → jaredtao → HelloActions-Qt

jaredtao / HelloActions-Qt

Licence: MIT license
Qt use github-actions(Qt项目使用github的持续集成)

Programming Languages

powershell
5483 projects
QMake
1090 projects
C++
36643 projects - #6 most used programming language
QML
638 projects

Projects that are alternatives of or similar to HelloActions-Qt

CodeforcesApiPy
Implementation of https://codeforces.com API
Stars: ✭ 17 (-83.5%)
Mutual labels:  github-actions
DenverCoder1
Jonah Lawrence's Profile README
Stars: ✭ 320 (+210.68%)
Mutual labels:  github-actions
WEB CodeSquare AmongUs
군 복무중인 개발자를 위한 국방망용 통합 개발 플랫폼
Stars: ✭ 42 (-59.22%)
Mutual labels:  github-actions
issue-states
GitHub Action that closes or reopens issues when they are moved to a project column
Stars: ✭ 64 (-37.86%)
Mutual labels:  github-actions
NJU-health-report
用于在 GitHub Action 上部署南京大学每日健康填报自动打卡脚本
Stars: ✭ 112 (+8.74%)
Mutual labels:  github-actions
gatsby-cli-github-action
GitHub Action wrapping the Gatsby CLI
Stars: ✭ 47 (-54.37%)
Mutual labels:  github-actions
setup-graalvm
No description or website provided.
Stars: ✭ 63 (-38.83%)
Mutual labels:  github-actions
postcss-prefixwrap
A PostCSS plugin that is used to wrap css styles with a css selector to constrain their affect on parent elements in a page.
Stars: ✭ 54 (-47.57%)
Mutual labels:  github-actions
branch-names
Github action to retrieve branch or tag names with support for all events.
Stars: ✭ 99 (-3.88%)
Mutual labels:  github-actions
anonymization-api
How to build and deploy an anonymization API with FastAPI
Stars: ✭ 51 (-50.49%)
Mutual labels:  github-actions
myshoes
Auto-scaling VirtualMachine runner 🏃 for GitHub Actions
Stars: ✭ 68 (-33.98%)
Mutual labels:  github-actions
create-release-action
| Public | GitHub Action to Create a Release in Octopus Deploy
Stars: ✭ 68 (-33.98%)
Mutual labels:  github-actions
aws-security-group-add-ip-action
GitHub Action for AWS Security Group Add IP
Stars: ✭ 32 (-68.93%)
Mutual labels:  github-actions
get-diff-action
GitHub Actions to get git diff
Stars: ✭ 149 (+44.66%)
Mutual labels:  github-actions
criterion-compare-action
⚡️📊 Compare the performance of Rust project branches
Stars: ✭ 37 (-64.08%)
Mutual labels:  github-actions
publish-docker-action
GitHub Action used to build, tag and publish docker image to your docker registry
Stars: ✭ 31 (-69.9%)
Mutual labels:  github-actions
clojure-dependency-update-action
A simple GitHub Actions job to create Pull Requests for outdated dependencies in clojure projects
Stars: ✭ 37 (-64.08%)
Mutual labels:  github-actions
k8s-create-secret
GitHub Action to create Kubernetes cluster secrets
Stars: ✭ 24 (-76.7%)
Mutual labels:  github-actions
googlejavaformat-action
GitHub Action that formats Java files following Google Style guidelines
Stars: ✭ 66 (-35.92%)
Mutual labels:  github-actions
issue-bot
GitHub Actions powered Issue Bot 🦾
Stars: ✭ 62 (-39.81%)
Mutual labels:  github-actions

HelloActions-Qt

简介

演示github中的Qt项目,使用CI持续集成(Github actions)

status

Windows Ubuntu MacOS Android IOS
win-badge ubuntu-badge macos-badge android-badge ios-badge
License Release Download Issues Wiki
license-badge release-badge download-badge issues-badge wiki-badge

项目进度

Tag 功能
0.1.0 五个平台都能够自动编译
0.1.1 配置文件拆分
0.1.2 Windows可以自动打包、发布
0.1.3 Windows和MacOS可以同时自动打包、发布
0.2.0 增加Qt版本;更新打包功能
0.2.1 增加Qt6.2.2 desktop版本

支持平台

0.2.0版本开始,增强了平台和Qt版本的支持。

以下列出通过验证并支持的编译环境:

Windows

Windows 宿主平台是Server 2019,支持的目标环境包括:

msvc 版本:

  • Qt5.9.9-msvc2015-x86
  • Qt5.9.9-msvc2017-x64
  • Qt5.12.10-msvc2017-x86
  • Qt5.12.10-msvc2017-x64
  • Qt5.15.2-msvc2019-x86
  • Qt5.15.2-msvc2019-x64
  • Qt6.0.0-msvc2019-x64
  • Qt6.2.2-msvc2019-x64

mingw版本:

  • Qt5.9.9 mingw53_32
  • Qt5.10.1 mingw53_32
  • Qt5.11.3 mingw53_32
  • Qt5.12.10 mingw73_32
  • Qt5.12.10 mingw73_64
  • Qt5.13.2 mingw73_32
  • Qt5.13.2 mingw73_64
  • Qt5.14.2 mingw73_32
  • Qt5.14.2 mingw73_64
  • Qt5.15.2 mingw81_32
  • Qt5.15.2 mingw81_64
  • Qt6.0.0 mingw81_64
  • Qt6.2.2 mingw90_64

(mingw版本由热心网友Mozi提供初版,在此表示感谢!)

MacOS

MacOS平台以MacOS 10.15 为主, 11.0存在一些问题,尚未解决,暂不公开。

Qt版本包括:

  • Qt 5.9.9
  • Qt 5.12.10
  • Qt 5.15.2
  • Qt 6.2.2

架构都是clang_64

Ubuntu

Ubuntu平台的支持情况如下:

ubuntu-18.04

  • Qt 5.9.9
  • Qt 5.12.10
  • Qt 5.15.2

ubuntu-20.04

  • Qt 5.9.9
  • Qt 5.12.10
  • Qt 5.15.2
  • Qt 6.2.2

架构都是gcc_64

Android

Android的宿主平台用Ubuntu 20.04,

验证通过的平台如下:

  • Qt5.12.10 android x86
  • Qt5.12.10 android armv7
  • Qt5.12.10 android arm64_v8a
  • Qt5.15.2 android (default, any-multi)

android 仅验证编译,暂未处理部署。

Qt6.2.2 工具包存在映射问题,暂不能用。

IOS

ios 的宿主平台用 macos 10.15

验证通过的平台如下:

  • Qt5.12.10
  • Qt5.15.2

ios仅验证编译,暂未处理部署

Qt6.2.2 工具包存在映射问题,暂不能用。

打包脚本

目前仅提供Windows平台和MacOS平台的打包配置,其它平台使用频率不高,未做支持。

MacOS平台是简单的 macdeployqt命令调用,生成的dmg上传。

Windows平台做了'私有部署',也就是带上全套dll(c# 及msdn中这么叫的),

可以参考scripts/windows-publish.ps1 脚本。

调用windeployqt命令后,还会拷贝编译器的vcredist相关dll和windows kit运行时

dll,以此来保证在大部分Windows环境都能正常运行。

运行时相关的dll文件数量多,但是体积加起来并不大。

笔者经历过一些特殊的windows环境,无法通过redist.exe正确安装运行时。

所以带上全套的dll是一个万能的解决方案。

原理

可以参考博客文章或知乎专栏

博客-Qt使用githubActions自动化编译

博客-Qt使用githubActions自动化发布

知乎-Qt使用githubActions自动化编译

知乎-Qt使用githubActions自动化发布

知乎-Qt使用githubActions缓存优化

Qt项目的编译流程

  1. 安装Qt环境

这一步用Actions模板:jurplel/install-qt-action

  1. 获取项目代码

这一步用Actions官方核心模板:actions/checkout@v2

  1. 执行qmake、make

这一步用自定义脚本,可以换成qbs、cmake、gn、ninja等构建工具

  1. 执行test

这一步可以引入单元测试、自动化UI测试等。(暂不提供方案)

  1. 执行deployment

这一步执行发布流程,可以参考博客教程

答疑和技术支持

QQ群:734623697

联系方式


作者 涛哥
开发理念 传承工匠精神
博客 https://jaredtao.github.io/
博客-国内镜像 https://jaredtao.gitee.io
知乎专栏 https://zhuanlan.zhihu.com/TaoQt
QQ群 734623697(高质量群,只能交流技术、分享书籍、帮助解决实际问题)
邮箱 [email protected]
微信 xsd2410421
QQ、TIM 759378563

QQ(TIM)、微信二维码

****** 请放心联系我,乐于提供咨询服务,也可洽谈有偿技术支持相关事宜。


赞助

****** 觉得分享的内容还不错, 就请作者喝杯奶茶吧~~


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].