Git Product home page Git Product logo

helloactions-qt's Introduction

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.0版本开始,增强了平台和Qt版本的支持。

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

Windows

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

  • 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

MacOS

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

Qt版本包括:

  • Qt 5.9.9
  • Qt 5.12.10
  • Qt 5.15.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

架构都是gcc_64

打包脚本

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

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

Windows平台做的比较到位,实现了自动化发布脚本,可以参考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)、微信二维码

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


赞助

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


测试

helloactions-qt's People

Contributors

jared2020 avatar jaredtao avatar pzhlkj6612 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.