Skip to content
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

phase1: IGNORE_ERRORS hides package build issues #27

Open
ynezz opened this issue Apr 7, 2024 · 3 comments
Open

phase1: IGNORE_ERRORS hides package build issues #27

ynezz opened this issue Apr 7, 2024 · 3 comments

Comments

@ynezz
Copy link
Member

ynezz commented Apr 7, 2024

Problem

Following IGNORE_ERRORS constructs in https://github.com/openwrt/buildbot/blob/master/phase1/master.cfg#L1172

make package/compile IGNORE_ERRORS=n m
make target/compile IGNORE_ERRORS=n m

are effectively hiding the build issues, leading to hardly spottable issues such as recent kmod-ltql-vmmc build breakage caused by default GCC version bump, where the buildbot step succeeds, but some target's optional kernel module (or package) might fail to build. Contrary to phase2, there are no faillogs generated on phase1 for failing packages, thus we're completely unaware about the breakage.

For a complete overview see the discussion here openwrt/openwrt#15064

Possible solutions

  1. Get rid of IGNORE_ERRORS=n m and make the build fails, thus making sure, that all packages are building
  2. Provide faillogs/images (or faillogs-images) for phase1 package build issues as we've for phase2

I'm more inclined towards 1. as there is quite good CI test coverage on GitHub so I believe, that when something fails to build, like in the recent kmod-ltql-vmmc case, it should be spotted and fixed like in openwrt/openwrt#15065 and openwrt/openwrt#15098.

@Ansuel
Copy link
Member

Ansuel commented Apr 7, 2024 via email

@ynezz
Copy link
Member Author

ynezz commented Apr 7, 2024

Errors might also be triggered for some images that are too big.

Yep, but this is make target/install step (no IGNORE_ERRORS=n m there) so if that fails, it would result in the build failure of the target and we would notice it on IRC as a failed build, investigate and fix. We don't get that for failing package currently as you can see in openwrt/openwrt#15065

Also can the failogs handling be improved to also delete the directory if it's empty?

Do you've such example? The code seems to delete it already https://github.com/openwrt/buildbot/blob/master/phase2/master.cfg#L549C13-L549C65 so I'm wondering whats the problem.

@Ansuel
Copy link
Member

Ansuel commented Apr 8, 2024

@ynezz oh ok wasn't aware the target were split. Then yes it's ok for me to make them fail. (but I would still upload the faillogs? instead of checking tons of line in buildbot searching for the error)

For example... we don't have one cause packages got broken again lately. We had case where https://downloads.openwrt.org/snapshots/faillogs/aarch64_cortex-a53/ was still there in https://downloads.openwrt.org/snapshots/faillogs/ but the directory was empty. (making it difficult to check targets with failed packages)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants