-
Notifications
You must be signed in to change notification settings - Fork 89
Home
Geunsik Lim edited this page Oct 11, 2018
·
50 revisions
Welcome to the TAOS-CI wiki!
- CI Bot ID for webhook API
- nnstreamer repository: https://github.com/nnsuite-ci (by Sewon Oh)
- TAOS-CI repostiroy: https://github.com/taos-ci (email: [email protected])
- CI Web Server: (Sewon Oh has issued the below hostnames at http://freedns.afraid.org)
- A tool to import a github issue and pull request from github enterprise to github.com:
- How to submit a pull request - https://youtu.be/QJATuClEkZE
- How to modify an existing CI module, cppcheck - https://youtu.be/VmU6sre_kx0
Sometimes, contributors meet unexpected CI failure even though they submit correct PRs. In this case, please re-trigger CI checker by appending @open sesame mm/dd hh:mm
of your PR title. Note that re-execution of CI checkers is dependent on @open sesame mm/dd hh:mm
writing style of PR title whenever you try to edit PR title or edit PR body.
- Before: [segmentation] update model & change IPC
- After: [segmentation] update model & change IPC
- @open sesame 08/15 18:27
There are three groups as follows to support continuous integration among merging, build, and running.
- Category: Format (before a build), Audit (building and after a build)
- Running
No | Group | Checker | Author | Description |
---|---|---|---|---|
1 | Format | File size | @geunsik-lim |
git show --pretty="format:" --name-only --diff-filter=AMRC , It is to provide a file size checker that prevent uploading files of too big size in the git repository. Note that uploading is big binary files is PITA in a source control management such as Git. |
2 | Format | New line | @geunsik-lim |
git show --pretty="format:" --name-only --diff-filter=AMRC , You do not have to include \ No newline at end of file statement at the end of source code. The checker verifies a coding style if a new line is existed whenever a PR is submitted. |
3 | Format | No body | @geunsik-lim |
git format-patch -1 , You have to write commit description more than 4 words at least. Please refer to git-commit manual in order to write commit message correctly. |
4 | Format | Signed-off | @geunsik-lim |
webhook body , You have to run git commit -s ... command to clean license issue. The Signed-off-by: notation has to be included both 1) your PR body and 2) your commits. Lots of open source communities have been using Signed-off-by: notation by default to handle the license issues that result from contributors. First of all, We have to understand why we have to use Signed-off-by: statement. We recommend that we have to require Signed-off-by: line in git commit messages to author on our project as well as Linux community. "Is there a Signed-off-by" line?" is important because lawyers tell us we must have to it to cleanly maintain the license issues even though it has nothing to do with the code itself. So, the activity that we do append Signed-off-by: line is helpful to developers as well as lawyers. For more details, refer to Signing-off-commits
|
5 | Format | clang-format | @geunsik-lim |
find, git ls-files $FILES_IN_COMPILER , clang-format is located in clang/tools/clang-format and can be used to format C/C++/Java/JavaScript/Objective-C/Protobuf code. We have used clang-format to keep a repository with a consistent code style but also avoid as much noise in any code review process. Note that we have checked the coding convention wight clang-format-4.0. If you get the clang-format checker failure, you have to press "Details" from PR status report. Then, run $patch -p1 < clang-format.patch command after pressing "report" folder. |
6 | Audit | Build | @geunsik-lim |
git clone , Builder can execute compilation of All applications. |
7 | Audit | Resource | @jiho-chu |
git clone , You have to include whole resource files to the RPM package. You can remove uninstalled resources from the repository. |
8 | Format | doxygen-tag | @geunsik-lim |
git show --pretty="format:" --name-only --diff-filter=AMRC , You have to include doxygen-style annotations in your source code. For more details, refer to Doxygen Documentation.In case of C/C++ code, Author must include @file and @brief tag at least in his/him source code. Author must include @package and @brief tag at least in his/him source code. |
9 | Format | timestamp | @myungjoo-ham |
git show --pretty="%ct" --no-notes -s , It checks the timestamp of the commit with git show --pretty=%ct --no-notes -s command. If files are modified with a future time, you have to synchronize local time of your desktop PC by running /usr/sbin/ntpdate kr.pool.ntp.org command. |
10 | Format | hard-coded-path | @myungjoo-ham |
find in /home/ , If you are submitting has hardcoded paths that are not allowed in the source, it reports failure. Please do not hardcode paths. |
11 | Format | executable | @myungjoo-ham |
git show --pretty="format:" --name-only --diff-filter=AMRC , It checkes executable bits for .cpp, .h, .hpp, .c, .caffemodel, .prototxt, and .txt. If the commit has an invalid executable, please turn the executable bits off. |
12 | Format | rpm-spec | @geunsik-lim |
git show --pretty="format:" --name-only --diff-filter=AMRC , It is a tool for checking common errors in rpm packages. It can be used to test individual packages and spec files before uploading or to check an entire distribution. |
13 | Format | cppcheck | @geunsik-lim |
git show --pretty="format:" --name-only --diff-filter=AMRC , Cppcheck is a static analysis tool for C/C++ code. It provides unique code analysis to detect bugs and focuses on detecting undefined behavior and dangerous coding constructs. The goal is to detect only real errors in the code (i.e. have very few false positives). |
14 | Format | pylint | @geunsik-lim |
git show --pretty="format:" --name-only --diff-filter=AMRC , It looks for programming errors, helps enforcing a coding standard and sniffs for some python code smells (as defined in Martin Fowler’s Refactoring book). Pylint is a source code, bug and quality checker for the Python programming language. It follows the style recommended by PEP 8, the Python style guide. |
15 | Format | indent | @geunsik-lim |
git ls-files $FILES_IN_COMPILER , It checks the code formatting style with GNU indent. |
16 | Audit | apptest | @ohsewon | It is a test for nnstreamer. Testing gstreamer pipeline with nnstreamer plugin. For more details, refer to Sample Apps. |
17 | Format | doxygen-build | @geunsik-lim | Check a doxygen grammar if a doxygen can normally generates source code |
18 | Format | sloccount | @geunsik-lim | Count physical source lines of code (SLOC). It is a set of tools for counting physical Source Lines of Code (SLOC) in a large number of languages of a potentially large set of programs. |
19 | Format | misspelling | @geunsik-lim | Check a misspelled statement in a text document file with GNU Aspell. |
20 | Audit | ... | ... | |
21 | Audit | ... | ... |
- Todo
No | Group | Checker | Author | Description |
---|---|---|---|---|
1 | Format | License | @who | You have to verify if you may import open source legally into this reposiroty. |
2 | Audit | Blame | @who | The author get the warning email from CI bot in case that someone generates a regression. |