-
Notifications
You must be signed in to change notification settings - Fork 2k
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
examples: Moved CI infos to Makefile.ci #12406
Conversation
If this PR gets swiftly merged, I might be able to do the same cleanup for the |
I like the idea! |
I'm not sure, what this is trying to accomplish... The clutter is just moved to a different spot. Also: the lists are not just about CI, but especially for BLACKLIST/WHITELIST to warn a user, that the app might not be applicable for the board they are using. So the name might be misplaced. |
A big build system change like this shouldn't be merged right before feature freeze oO. |
Well the clutter is removed from the main Makefile which is actually read by humans, especially the examples. With the clutter contained to one file, it can clutter that file up as much as it likes - a 100 line Makefile would be atrocious to read, but when it's contained to one file that only does that, the list can take up as much space as it wants, making merging easier. |
This PR only moves lists from one file to another and sorts their content. As the order of the entries in the list is of no semantic meaning, this PR doesn't change any semantics. But I wouldn't mind waiting a bit either.
This is a huge reduction of the pain at least I constantly have with those CI lists. Whenever a PR needs to touch one of the lists, the PR is constantly affected by merge conflicts. By having one line per board, this is significantly reduced. Also with |
For the definition change at least, all values are still the same here. I used this to print the variables for all values, then sorted to be able to compare and the sorted values are the same as the reference commit.
This is a conceptual change that these definitions must be moved to another entity to define them. The line based definition and re-ordering is not and could go before. When doing such a change, it is also good to add some static checks to prevent having the old pattern re-appearing again. Many existing PRs do not follow this scheme and will be merged without being updated. |
Big in the sense of lines touched ;-). I know that the impact shouldn't be that high. |
What about this point though? |
How about renaming |
True. So lets wait with merging then. I could also the time add a second commit to apply the approach to tests in this PR, once the discussion reached an agreement. |
They could go to |
I think the name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
at least for the BOARDS_WHITELIST
and BOARDS_BLACKLIST
there is IMHO a better way to improve by using features, see #12423 as an RFC example.
I agree that using features is generally a better idea than using the black and the whitelist. Even if some of the features would have to be maintained for every board individually, this would be already hugely less pain - the boards are pretty static while the applications are moving targets. But I honestly don't think that this could be done in a single PR, but rather quite a bunch. I'd say moving those lists out of the main Makefile and having the lists alphabetically sorted and one board per line is a simple and swift way to significantly lessen the pain those lists cause. And this in no way conflicts with any approaches that reduce the number of cases those lists have to be used. I think it is the opposite: Once the lists are easier to manage with scripts (due to having one board in a row and in "lists-only-files"), it will less effort to clean up those list when features can be used instead. |
@maribu I somewhat agree for the For black and white list I would prefer to use the feature mechanism as proposed in #12423. |
Did you notice that I 100% agree on that? ;-) I only think that until this goal is reached, having those lists separated out, sorted, and formatted one board a line is beneficial. |
I did ... my suggestion would be to move in parallel, i.e. moving |
OK. Let's do this. @miri64: This way also the name @kaspar030: #9081 is not concerned about |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The blacklists will become much smaller with #9081, to a point where maintaining them will be a non-issue.
I don't like adding another file, with another include and another place to look for configuration.
I suggest moving the "insufficient memory" list to the bottom (right before the include of Makefile.base), with one line per board, alphabetically sorted. It would reduce the maintanance effort.
BOARD_INSUFFICIENT_MEMORY = \
foo \
bar \
#
Nice idea. However, board specific bootloaders are not taking into account. As a result the board with the biggest bootloader will force the decision upon other boards. Also, board specific stuff like number of network interfaces used can increase requirements for some board. Now having written this, I don't think anymore that this will work :-/ |
cd8cd5d
to
47f75c8
Compare
@smlng: Check has been added as requested. It works as expected on my machine, hopefully also on others :-) |
Aha: The check also works on travis: https://travis-ci.org/RIOT-OS/RIOT/builds/596637735?utm_source=github_status&utm_medium=notification I'll rebase to also apply the change for |
93cda01
to
161bb94
Compare
I believe the issue Murdock points out is a bug in the CI:
Can someone help? I triggered Murdock now three times. In the first run, every test failed with |
For me, bugging ci@riot-labs.de works most of the time ;-). |
May I squash? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested the sanity check it works for all below examples
for now. Other changes look good too, if Murdock is happy, this should be good to go.
Please squash.
- Decluttered Makefile by moving BOARD_INSUFFICIENT_MEMORY lists from Makefile to Makefile.ci - Optimized the list for use of tools: - One entry per line reduces the number of merge conflicts - One entry per line allows alphabetical sorting e.g. via Vim's sort command - Sorted all lists alphabetically
Enforce BOARD_INSUFFICIENT_MEMORY is not managed in the Makefile in the examples
7a93877
to
2c99605
Compare
@smlng: All green :-) |
Contribution description
BOARD_INSUFFICIENT_MEMORY
lists from eachMakefile
to aMakefile.ci
Testing procedure
Issues/PRs references
#11128, #9965