-
Notifications
You must be signed in to change notification settings - Fork 19.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenWrt CI 在线集成编译环境使用教程 #2200
Comments
我的workflow一直显示 (Unnamed workflow),不知道为啥,GitHub官方问题?? |
你改了什么地方? |
添加了一个workflow示例模板文件,我把这个文件添加或者删除都不行,都是显示Unnamed workflow |
感谢大神,可以删除虚拟机了。 |
大佬,我不用X64,你的实例脚本里的x64怎么替换别的CPU(就是给个其他的CPU设备的TARGET_参数列表吧。)不知道哪里有TARGTE_的不同参数。 |
armv8就是aarch64 |
建议直接复制config.seed或者.config最开始的target部分 |
CONFIG_TARGET_PREINIT_IFNAME="" |
我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的. |
嗯嗯。 |
现在可以了,是GitHub官方的锅 |
① 对 如果你只是想编译最新固件, 可以用P3TERX/Actions-OpenWrt
github的bug都让你找着了😂 |
4点同时编译,GitHub算力被撸完 |
如果大雕源码更新,要怎么自动编译? |
抱歉看错了,上述限制是针对私有仓库的 |
@KFERMercer 抱歉看错了,上述限制是针对私有仓库的 |
大神,怎么在CI脚本中添加pull上游代码的动作? |
你用另一个脚本就是最新版编译 |
谢谢UP主的分享 想请教下 如果我拥有多台路由 是否可以同时自动化编译多个固件呢?还是说需要建立多个自动编译化脚本?如果我修改了openwrt-ci.yml 在Action建立多个脚本 更新以后 他是按照我最近修改还是?主要是我不太会使用git 如果我workflow目录下创建多个.yml脚本,是不是workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译呢? |
同时建立多个flow, 每个flow都会执行. 不过既然你不太会用git, 那这种需求建议使用P3TERX/Actions-OpenWrt. |
老哥,不行啊。。。你最近一次改代码之后,GG了。。。
固件大小直接为0了。。。 |
能不能把编译时候实际用到的完整版的config文件也导出来,一起打包下载了?? |
牛逼感谢 |
照着撸了个最近的官包,打128M 大内存补丁后的 WNDR4300 和 WNDR3700 好像哪里不对,2小时后出来 firmware 600M,熟悉的指点指点 |
貌似是op trunk本身的问题. (可能吧) 虽然你的代码写的很乱, 但是逻辑还是在的.
这个很容易就可以做到. |
你好,请问怎么把你的merge-upstream.yml文件放到我的目录下?我看好像没办法下载, |
@KFERMercer 怎么从trunk抓指定tag的版本 ? |
由于没看到错误信息所以猜不出来 |
我做了一个分支,名字叫ledenew,我打算以后同步L大的代码都用分支来同步,请问openwrt-ci.yml和merge-upstream.yml需要修改对应那些字段 |
@KFERMercer 请教大佬,我在编译时需要手动输入一个 Y 进行确认(见下面日志),现在自动化无法输入,导致编译失败。不知有没有办法自动输入? |
已修复 |
还是过不去,这里好像必须有输入才行。 |
加一行:
|
试了一下,还是不行 |
- name: Firmware build_env keys set
uses: actions/cache@master
id: build_env
with:
path: .
key: ${{ runner.os }}-openwrt-build-${{ hashFiles('**/.config') }}
- name: Try make package/pkg/compile in cache
if: steps.build_env.outputs.cache-hit != 'true'
env:
DEBIAN_FRONTEND: noninteractive
run: |
make package/nun-lean-pkg/compile source=path/to/source V=s
这样是不是就可以利用之前有编译环境增加编译自己的包?应该还不到2G限制吧。 |
手里没k3所以没法测试. 真不行就把
理论上可以.. 但是如果大雕修改工具链之类的话可能会翻车... 我没试过所以没发言权, 我会测试一下, 在此之前稳定优先 |
编译x86,添加以下php环境插件,编译后发现固件里并没有php环境的以下插件 ,这个要怎么解决呢? |
编译错误 |
应当像这样保留注释吧: lede/.github/workflows/openwrt-ci.yml Lines 100 to 105 in 2252757
|
缩进错误 |
自动更新lean源码失败 |
KFERMercer/OpenWrt-CI#36 (comment)
需要修改文件 |
编译了几次Samba4,都是错误,以及强制不编译Samba了,为什么还是错误呢? |
这个问题你解决了吗,我也是困在这里了。 |
CIFS_ALLOW_INSECURE_LEGACY 也是一样 要手动输入Y 无法自动化。。怎么解决 |
想修改成别的机型该怎么写呢?有范例吗? |
借助 GitHub Actions 的 OpenWrt 在线集成自动编译.
项目地址
实时编译状态:
支持自动定制固件, 自动调整依赖及生成配置文件, 无需上传配置. 兼容 coolsnowwolf/lede 以及 OpenWrt trunk.
同时支持自动合并推送上游提交 (也就是自动更新), 直接把
merge-upstream.yml
放入.github/workflows/
即可 (默认上游为 coolsnowwolf/lede, 高级玩家请自行改写).感谢P3TERX珠玉在前.
这个 CI 脚本可以帮助你在你的 OpenWrt 分支下构建当前库的Op固件, 无需上传配置文件, 不依赖外挂配置脚本, 真正的一次配置终生使用.
P3TERX/Actions-OpenWrt 的优势在于, 其可以独立于文件库存在, 可以快速搭建起可用的编译配置; 同时对新手极其友好. 但是由于 OpenWrt make configure 自身机制的缘故, 生成的配置文件鲁棒性较差, 需要经常重新生成上传配置, 有形中加重了维护负担, 使得使用起来不是很
优雅
, 但是强烈建议基础薄弱的玩家使用.使用教程:
在一切开始前, 你需要的是:
相关文章: 作者-糖炒栗子
1. 注册GitHub账号并开启GitHub Actions (自行搜索方法).
2. fork coolsnowwolf/lede 或者 OpenWrt trunk.
3. 上传
openwrt-ci.yml
和merge-upstream.yml
到/.github/workflows/
下.4. 定制固件:
代码里的注释部分详细介绍了如何在脚本中客制化你的固件. 简单来说, 你只需要解除注释相应行即可.
我已经准备一个正确的编写示例, 此配置基于 Lean 最新代码, 开启了所有预先写好的定制选项, 同时已经经过测试可用. 如果你缺乏对自己的信心, 可以随意借鉴.
5. 大功告成.
集成编译环境会自动开始编译. 现在返回你的库首页, 点击页面上方的
Actions
按钮就可以查看进度.进入
Actions
标签页后, 如果相应的集成活动顺利完成 (显示为绿色), 点击页面右上方的Artifacts
即可看到你的固件 (通常是一个压缩包). 点击即可开始下载.The text was updated successfully, but these errors were encountered: