tete1030 / openwrt-fastbuild-actions

FAST building OpenWrt with Github Actions and Docker!
Other
100 stars 83 forks source link

Bug #7

Open RealKiro opened 4 years ago

RealKiro commented 4 years ago

之前有过一次编译去掉勾选MBR、VMDK仅编译EFI固件,但是编译出来的固件还是含有全部的镜像文件(包括每次编译都是)

tete1030 commented 4 years ago

第一个问题,我猜很可能是残余的已编译文件导致。bin目录不会被清理,过去已编译的efi固件,即便你勾掉了,它们也不会被删除,仍然保留在bin并一起上传了。我考虑一下要不要清理bin,或者仅上传timestamp晚于编译开始时间的firmware文件。(我担心这样做会遗漏必要的文件)

RealKiro commented 4 years ago

第一个问题,我猜很可能是残余的已编译文件导致。bin目录不会被清理,过去已编译的efi固件,即便你勾掉了,它们也不会被删除,仍然保留在bin并一起上传了。

我重新拉取过源码第一次保持的默认diff编译的,是它导致全部怼进去的吗?

tete1030 commented 4 years ago

应该是的。你第一次编译时使用自己的config.diff就好,不必使用默认的。如果你现在想摆脱掉那些文件的话需要完全重编译base builder,在commit message里包含“#rebuild#”字串,或者使用tete1030/github-repo-dispatcher,设置payload:{"rebuild": true}

我正在添加ssh进docker的功能,允许你make menuconfig,以及手动删掉不想要的东西

tete1030 commented 4 years ago

关于第二个问题,这就是我在https://github.com/tete1030/openwrt-fastbuild-actions/issues/1#issuecomment-569488074 中提到的patch功能存在的缺陷。当patch变化的时候,再次apply patch会有问题。你的patch文件应该是在多次build中发生过变化吧。目前确实麻烦你了,只能通过rebuild解决。正在考虑添加一个force_patch的选项,先git checkout其所在git的原始文件再apply,但是这仍然是一个草率的workaround,因为不一定所有patch的文件都能reset

tete1030 commented 4 years ago

第三个问题确实非常迷。。。等我把ssh进docker的功能加进去后,你可以使用{"debug": true}或包含#debug#字串的commit message进行测试

tete1030 commented 4 years ago

SSH进docker的功能已经加上了。你可以在其中两个ssh step的输出日志里找到连接方法,然后通过网页或者ssh进去。注意执行那个touch /tmp/tmate-xxx/keepalive操作以避免被timeout杀进程