Closed KFERMercer closed 4 years ago
我的workflow一直显示 (Unnamed workflow),不知道为啥,GitHub官方问题??
我的workflow一直显示 (Unnamed workflow),不知道为啥,GitHub官方问题??
你改了什么地方?
添加了一个workflow示例模板文件,我把这个文件添加或者删除都不行,都是显示Unnamed workflow
感谢大神,可以删除虚拟机了。
大佬,我不用X64,你的实例脚本里的x64怎么替换别的CPU(就是给个其他的CPU设备的TARGET_参数列表吧。)不知道哪里有TARGTE_的不同参数。
我想要修改x64为A53处理器的架构,但是这里貌似没有arm v8
armv8就是aarch64
我想要修改x64为A53处理器的架构,但是这里貌似没有arm v8
建议直接复制config.seed或者.config最开始的target部分
我想要修改x64为A53处理器的架构,但是这里貌似没有arm v8
建议直接复制config.seed或者.config最开始的target部分
我强烈建议您再写一个文档,列出不同设备的这个部分:
只需要这三项对吗?其他的像这样的要吗? CONFIG_TARGET_BOARD="sunxi" CONFIG_TARGET_SUBTARGET="cortexa53" CONFIG_TARGET_PROFILE="DEVICE_sun50i-h5-nanopi-neo2" CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"
CONFIG_TARGET_PREINIT_IFNAME="" CONFIG_TARGET_PREINIT_IP="192.168.1.1" CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0" CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255" CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin" CONFIG_TARGET_INIT_ENV="" CONFIG_TARGET_INIT_CMD="/sbin/init" CONFIG_TARGET_INIT_SUPPRESS_STDERR=y 还有这些要吗?
CONFIG_TARGET_PREINIT_IFNAME="" CONFIG_TARGET_PREINIT_IP="192.168.1.1" CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0" CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255" CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin" CONFIG_TARGET_INIT_ENV="" CONFIG_TARGET_INIT_CMD="/sbin/init" CONFIG_TARGET_INIT_SUPPRESS_STDERR=y 还有这些要吗?
不需要.
只需要这三项对吗?其他的像这样的要吗? CONFIG_TARGET_BOARD="sunxi" CONFIG_TARGET_SUBTARGET="cortexa53" CONFIG_TARGET_PROFILE="DEVICE_sun50i-h5-nanopi-neo2" CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"
对. 通常来说你在menuconfig下需要做出多少次选泽就需要多少行, 所以nanopi 2只需要这三行就够了:
CONFIG_TARGET_sunxi_cortexa53_DEVICE_sun50i-h5-nanopi-neo2=y
CONFIG_TARGET_sunxi_cortexa53=y
CONFIG_TARGET_sunxi=y
比如要编译ACRH 17的固件, 只需要这两行:
CONFIG_TARGET_ipq40xx=y
CONFIG_TARGET_ipq40xx_DEVICE_asus_rt-acrh17=y
CONFIG_TARGET_PREINIT_IFNAME="" CONFIG_TARGET_PREINIT_IP="192.168.1.1" CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0" CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255" CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin" CONFIG_TARGET_INIT_ENV="" CONFIG_TARGET_INIT_CMD="/sbin/init" CONFIG_TARGET_INIT_SUPPRESS_STDERR=y 还有这些要吗?
不需要.
只需要这三项对吗?其他的像这样的要吗? CONFIG_TARGET_BOARD="sunxi" CONFIG_TARGET_SUBTARGET="cortexa53" CONFIG_TARGET_PROFILE="DEVICE_sun50i-h5-nanopi-neo2" CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"
对. 通常来说你在menuconfig下需要做出多少次选泽就需要多少行, 所以nanopi 2只需要这三行就够了:
CONFIG_TARGET_sunxi_cortexa53_DEVICE_sun50i-h5-nanopi-neo2=y CONFIG_TARGET_sunxi_cortexa53=y CONFIG_TARGET_sunxi=y
比如要编译ACRH 17的固件, 只需要这两行:
CONFIG_TARGET_ipq40xx=y CONFIG_TARGET_ipq40xx_DEVICE_asus_rt-acrh17=y
我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻
我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻
我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的. 话说回来, 配置选项的命名仔细看一下你就会发现规律.
我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻
我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的. 话说回来, 配置选项的命名仔细看一下你就会发现规律.
嗯嗯。 那我再问下几个问题: 1.我配置的自定义的Neo2固件编译,那么可以同时再添加一个编译其他的设备固件的workflow脚本吗?(可以的话,是怎么添加呢?在workflow目录下新建一个其他的比如op-acrh17.yml就可以了?) 2.FORK一次代码后,任意一个workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译吗?不需要重新FORK吧?.....我不太会用git,不知道怎么同步大雕的源码且不覆盖我的自定义的workflow的yml。
现在可以了,是GitHub官方的锅 https://www.githubstatus.com/incidents/39ynqr1xb3s0
我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻
我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的. 话说回来, 配置选项的命名仔细看一下你就会发现规律.
嗯嗯。 那我再问下几个问题: 1.我配置的自定义的Neo2固件编译,那么可以同时再添加一个编译其他的设备固件的workflow脚本吗?(可以的话,是怎么添加呢?在workflow目录下新建一个其他的比如op-acrh17.yml就可以了?) 2.FORK一次代码后,任意一个workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译吗?不需要重新FORK吧?.....我不太会用git,不知道怎么同步大雕的源码且不覆盖我的自定义的workflow的yml。
① 对 ② 不能, 需要手动合并. 这个脚本专注当前库, 如果想要代码, 可以再脚本中添加一个拉取代码的命令, 但是我不建议你这么做. 同步上游不会覆盖下游更改.
如果你只是想编译最新固件, 可以用P3TERX/Actions-OpenWrt
现在可以了,是GitHub官方的锅 https://www.githubstatus.com/incidents/39ynqr1xb3s0
github的bug都让你找着了😂
我觉得这些都背不下来,所有设备的。。。您看看再写个这块的所有设备参数文档?嘻嘻嘻嘻
我也没背, 需要什么设备只需要去make一个配置文件看一下就好了啊, 反正这种事是一劳永逸的. 话说回来, 配置选项的命名仔细看一下你就会发现规律.
嗯嗯。 那我再问下几个问题: 1.我配置的自定义的Neo2固件编译,那么可以同时再添加一个编译其他的设备固件的workflow脚本吗?(可以的话,是怎么添加呢?在workflow目录下新建一个其他的比如op-acrh17.yml就可以了?) 2.FORK一次代码后,任意一个workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译吗?不需要重新FORK吧?.....我不太会用git,不知道怎么同步大雕的源码且不覆盖我的自定义的workflow的yml。
① 对 ② 不能, 需要手动合并. 这个脚本专注当前库, 如果想要代码, 可以再脚本中添加一个拉取代码的命令, 但是我不建议你这么做. 同步上游不会覆盖下游更改.
如果你只是想编译最新固件, 可以用P3TERX/Actions-OpenWrt
现在可以了,是GitHub官方的锅 https://www.githubstatus.com/incidents/39ynqr1xb3s0
github的bug都让你找着了😂
4点同时编译,GitHub算力被撸完
如果大雕源码更新,要怎么自动编译?
每个项目每个月只有2000分钟的免费时间,如果每天都运行一次的话,是不够用的。
抱歉看错了,上述限制是针对私有仓库的
如果大雕源码更新,要怎么自动编译?
你可以在CI脚本中添加pull上游代码的动作.
每个项目每个月只有2000分钟的免费时间,如果每天都运行一次的话,是不够用的。
我在 GitHub 论坛上看到这样一条帖子:
@KFERMercer 抱歉看错了,上述限制是针对私有仓库的
大神,怎么在CI脚本中添加pull上游代码的动作?
大神,怎么在CI脚本中添加pull上游代码的动作?
你用另一个脚本就是最新版编译
谢谢UP主的分享 想请教下 如果我拥有多台路由 是否可以同时自动化编译多个固件呢?还是说需要建立多个自动编译化脚本?如果我修改了openwrt-ci.yml 在Action建立多个脚本 更新以后 他是按照我最近修改还是?主要是我不太会使用git 如果我workflow目录下创建多个.yml脚本,是不是workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译呢?
谢谢UP主的分享 想请教下 如果我拥有多台路由 是否可以同时自动化编译多个固件呢?还是说需要建立多个自动编译化脚本?如果我修改了openwrt-ci.yml 在Action建立多个脚本 更新以后 他是按照我最近修改还是?主要是我不太会使用git 如果我workflow目录下创建多个.yml脚本,是不是workflow脚本都可以自动同步大雕的commit并且开始按照脚本编译呢?
同时建立多个flow, 每个flow都会执行. 不过既然你不太会用git, 那这种需求建议使用P3TERX/Actions-OpenWrt.
老哥,不行啊。。。你最近一次改代码之后,GG了。。。
Uploading artifact 'OpenWrt firmware' from '/home/runner/work/lede/lede/artifact/' for run #21 Uploading 0 files File upload complete. Uploaded '0' bytes from '/home/runner/work/lede/lede/artifact/' to server
固件大小直接为0了。。。
老哥,不行啊。。。你最近一次改代码之后,GG了。。。
Uploading artifact 'OpenWrt firmware' from '/home/runner/work/lede/lede/artifact/' for run #21 Uploading 0 files File upload complete. Uploaded '0' bytes from '/home/runner/work/lede/lede/artifact/' to server
固件大小直接为0了。。。
刚才又更新了,, 之前一条命令写错了
不行啊,你是说前6,7小时那个改动吗?。。。还是这样啊。。。😂😂😂 你那边可以了??
不行啊,你是说前6,7小时那个改动吗?。。。还是这样啊。。。😂😂😂 你那边可以了??
刚刚更新
好的,我又去抄作业了。。。😂😂😂
你确定这次没问题了吧??😂😂😂
你确定这次没问题了吧??😂😂😂
刚看了下你的CI, 写的非常山炮. 建议去看小白教程: https://github.com/coolsnowwolf/lede/issues/2225
结合你们两家所长啊。。。怎么就山炮了呢??😂😂😂
结合你们两家所长啊。。。怎么就山炮了呢??😂😂😂
基本语法都错了
最初的模板就是你的呢。。。整个编译过程也没有报错啊??🙃
给个栗子我看看哪里不对了??
除了中间加一点插件,软件,驱动。。。其他基本完全照抄啊。。。😂😂😂
最初的模板就是你的呢。。。整个编译过程也没有报错啊??🙃
给个栗子我看看哪里不对了??
除了中间加一点插件,软件,驱动。。。其他基本完全照抄啊。。。😂😂😂
我怀疑你这个编出来的配置根本就不会生效, 而且有多个包之间互相冲突. 如果你不需要某项配置, 除了你想强制关闭应该在后面添加is not set
外, 其余的应该就直接删掉对应行而不是注释.
收到,谢谢,我马上去改。。。至少也是简洁好看一点。。。😂😂😂
对了,我设置是计划9点UTC,每星期五执行的,为什么没有生效,而是立刻就开始编译了呢??
老哥,好像还是不太行哦。。。编译出的固件大小有问题。。。之前都是190多M的,现在只剩90多了。。。无论是按照你后来让我改的,还是之前照你修改的配置文件改的。。。都是一样大小。。。 然后,压缩包解压出错。。。
老哥,好像还是不太行哦。。。编译出的固件大小有问题。。。之前都是190多M的,现在只剩90多了。。。无论是按照你后来让我改的,还是之前照你修改的配置文件改的。。。都是一样大小。。。 然后,压缩包解压出错。。。
cat >> .config <<EOF
CONFIG_TARGET_IMAGES_PAD=y
CONFIG_VDI_IMAGES=y
EOF
这里有什么问题不?为什么不能编译出VDI镜像?
# cat >> .config <<EOF
# CONFIG_TARGET_ipq40xx=y
# CONFIG_TARGET_ipq40xx_DEVICE_p2w_r619ac-128m=y
# EOF
我这样写的,为什么编译出来的不是竞斗云的固件?是不是哪里错了?
就因为这个CI好多萌新乱开PR都开到官方OpenWrt上去了
就因为这个CI好多萌新乱开PR都开到官方OpenWrt上去了
说实话这ci难用多此一举,不如原来的那个
就因为这个CI好多萌新乱开PR都开到官方OpenWrt上去了
今天新加了自动更新CI, 不再需要手动pr了.
能不能把编译时候实际用到的完整版的config文件也导出来,一起打包下载了?? 这次看到又添加了一些新的驱动,这些是我不需要的。。。 我想要下次编译的时候,禁止这些新的驱动添加到固件里面。。。 但是,我又不想在本地启动虚拟机来git pull。。。我都打算删掉虚拟机了。。。
借助 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
即可看到你的固件 (通常是一个压缩包). 点击即可开始下载.