当前位置: 首页 > 工具软件 > QMK > 使用案例 >

使用 Github Actions 编译 QMK 固件

洪雨石
2023-12-01

第一次写教程,如有疏漏错误,欢迎各位江湖大佬指正

先上链接:Github Actions compile QMK firmware

铺垫

使用此方法比本地编译有哪些好处呢?

  1. 解决在线编译不支持编码器和 OLED 的问题
  2. 避免本地编译克隆源代码或子库失败的问题发生,当然本教程也提出了新的解决方案
  3. 大多数朋友不需要经常编译,毕竟QMK支持VIA,所以好不容易下载的代码要不要保留呢?
  4. 只想到了这些,实在是挤不出来了,

先决条件

既然是用 Github Actions,那么需要访问 Github,推荐使用 FastGithub,Oh,下载地址也是 Github,进入到了死循环。目前最新版本是:2.1.4,提供阿里云网盘下载:https://www.aliyundrive.com/s/uiWeBs6txRz 提取码:br38

来源和修改

参考了the-via-firmware,在其基础上,做了如下修改:

  1. push:上传代码自动运行 Actions
  2. 在 Package assets 中,将 QMK 源码压缩并移到上传目录(可以通过此步骤获取 QMK 源代码和子库,用于本地编译)
  3. 每次编译自动创建 tag 和 release ,并将编译好的固件或 QMK 源码压缩包上传至 release

使用

大家在使用时只需要关注以下 3部分:

Setup and Build

实际编译部分,分 3种情况:

1. 编译原有键盘

在命令“ls ~/qmk_firmware”后面直接跟编译指令即可,例

ls ~/qmk_firmware
# 编译原有键盘
qmk compile -kb sofle -km via

2. 修改原有键盘或新增加键盘

按照这个库格式将修改或新增的代码放置到keyboards目录中,例

ls ~/qmk_firmware
# 库名如果和你的不同,请注意要替换
cp -r ~/work/zmk-config/zmk-config/keyboards ~/qmk_firmware/
# 编译新增加键盘
qmk compile -kb fingerpunch/bgkeeb -km default

3. 编译其他库的键盘

提供两个思路:

  • 将 ci.yml 上传到待编译库中
  • 先 checkout 待编译库,然后替换编译目录

大家自行折腾吧

Package assets

根据是否需要上传 QMK 源码而修改

Create GitHub release

如果需要“编译其他库的键盘”,则需要根据实际情况修改上传目录

到这里教程就结束了,欢迎大家进Q群(45470408)交流,最近在开 nrfmicro 的团,有兴趣的可以关注下

转载请注明出处。
版权声明:本博客中的所有文章均在 CC BY-NC-SA 4.0 下获得许可,除非另有说明。

 类似资料: