So I've asked some questions in the PR but receive few answers and it
usually takes weeks for an answer. Should I be asking in the PR or
here? In any case here's some questions.
For the SiFive license is there someone who could review it? I assuming
there's some RIOT licensing guru who checks these things. Based on a
quick search I read "If your software is a combined/derivate work
with/of Apache-2 software, you cannot license that software under the
GPL-2 and therefore cannot license it under the LGPL-2.1 either."
ref:
https://opensource.stackexchange.com/questions/5664/linking-from-lgpl-2-1-software-to-apache-2-0-library
So maybe the SiFive code can not be used with RIOT.
I've never used a the PR system so this may be obvious to someone more
experienced. Regarding the request to squash commits: Isn't that going
to screw up anyone that's pulled that branch? Do I assume no one has
pulled it or create a new PR? Also it looks like Travis tries to rebase
the PR. There's also the issues that the format of the development
commits are not in the RIOT format. It seems to me like doing a
github's "Squash and merge" on when incorporating the PR solves these
problems.
Regarding vendor supplied files: My assumption is those would be left
as-is. Specifically no changes to formatting or header guards. Is that
correct?
How are vendor supplied source (not header) files handled such that they
are not subject to the strict format etc. tests. Is there an equivalent
of the "vendor" directory for headers files but for source code?
thanks,
JP
On 12/19/2017 12:34 AM, Martine Lenders wrote:
Hi JP,
First of all, welcome to the RIOT community and thank you for your
contribution!
There are two steps to our CI at the moment. The first one is Travis,
which provides you with some preliminary static check regarding our
coding conventions, documentation and also some static code analysis.
When someone was able to review your PR they will task our build bot
Murdock, the second step, to try to build your PR for most known build
configurations.
For now, I suggest that you review the results of Travis to make sure
the PR is ready for review. Here are the most important ones to fix
right now (links are from the latest build of your PR as of writing
this PR, you can view the most current version by clicking on "Details"
next to the Travis build result at the bottom of the PR):
* Commit messages
(https://travis-ci.org/RIOT-OS/RIOT/builds/318473955#L705-L709): we are
loosely enforcing the 50/72 rule [1]. In our case this means: a commit
message should at most contain 50 characters, in special cases it may be
longer, but never longer than 72 characters. It is also preferable to
prefix the commit message with the module you manipulate / add
* Whitespaces
(https://travis-ci.org/RIOT-OS/RIOT/builds/318473955#L711-L1008): The
only whitespace a line should and with is `\n`. If you are on Windows
and *have your Git configured as such* it is also possible to have
`\r\n`, Git will than automatically strip the `\r`. Also use 4 spaces
for indendentation and don't mix spaces and tabs
* License
(https://travis-ci.org/RIOT-OS/RIOT/builds/318473955#L1011-L1030): The
code you provided seems to be Apache 2 license. Please make sure it is
compatible to our LGPLv2.1 and update our license pattern list [2]
accordingly, if so (or ask for help in the PR).
* C++ compatible headers
(https://travis-ci.org/RIOT-OS/RIOT/builds/318473955#L1033-L1049): RIOT
has C++ support, thus it's headers need to be C++-compatible. Have a
look [3] [4] at existing headers how to achieve this.
* cppcheck's static code analysis
(https://travis-ci.org/RIOT-OS/RIOT/builds/318473955#L1051-L1055):
Always useful to review what it says. If it's a false positive suppress
the warning. Ask in the PR how to do that, if that's the case.
* The PR check
(https://travis-ci.org/RIOT-OS/RIOT/builds/318473955#L1057-L1077) you
can ignore for now. After the review is done, the reviewer will ask you
to squash your commits down to a sensible number.
* Header guards
(https://travis-ci.org/RIOT-OS/RIOT/builds/318473955#L1080-L1097):
Header guards should be the path of the header file, starting after the
"include", but all upper-case.
E.g. boards/hifive1/include/sifive/hifive1.h would have the header guard
`SIFIVE_HIFIVE1_H`.
In general, have a look at our coding conventions [5]. Most of what I
paraphrased here is described there in more detail.
Cheers,
Martine
[1] https://gist.github.com/vecano/8494051#committing
[2] https://github.com/RIOT-OS/RIOT/tree/master/dist/tools/licenses/patterns
[3]
https://github.com/RIOT-OS/RIOT/blob/master/boards/samr21-xpro/include/periph_conf.h#L30-L32
[4]
https://github.com/RIOT-OS/RIOT/blob/master/boards/samr21-xpro/include/periph_conf.h#L281-L283
[5] https://github.com/RIOT-OS/RIOT/wiki/Coding-conventions
2017-12-18 20:47 GMT+01:00 JP
<jpbonn-keyword-riotos.ae0...@corniceresearch.com
<mailto:jpbonn-keyword-riotos.ae0...@corniceresearch.com>>:
I just created a pull request for merging support for the SiFive
HiFive1 board. I've never used the pull request mechanism before so
hopefully nothing is too buggered. What need to be done for the CI
integration? Those checks are failing.
JP
_______________________________________________
devel mailing list
devel@riot-os.org <mailto:devel@riot-os.org>
https://lists.riot-os.org/mailman/listinfo/devel
<https://lists.riot-os.org/mailman/listinfo/devel>
_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel