Skip to content

TAOS CI Plug in Modules

Yongjoo Ahn edited this page Feb 5, 2021 · 13 revisions

There are three groups as follows to support continuous integration among merging, build, and running.

  • Category: prebuild (before a build), postbuild(building and after a build)
  • Running
No Group Checker Author Description
1 prebuild File size @leemgs 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 prebuild New line @leemgs 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 exists whenever a PR is submitted.
3 prebuild No body @leemgs git format-patch -1, You have to write commit description more than 4 words at least. Please refer to the git-commit manual in order to write commit message correctly.
4 prebuild Signed-off @leemgs 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 the author on our project as well as the 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 prebuild clang-format @leemgs 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 the "report" folder.
6 postbuild Build @leemgs git clone, Builder can execute the compilation of All applications.
7 postbuild 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 prebuild doxygen-tag @leemgs 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. The author must include @package and @brief tag at least in his/him source code.
9 prebuild 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 prebuild 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 prebuild executable @myungjoo-ham git show --pretty="format:" --name-only --diff-filter=AMRC, It checks 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 prebuild rpm-spec @leemgs 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 prebuild cppcheck @leemgs git show --pretty="format:" --name-only --diff-filter=AMRC, Cppcheck is a static analysis tool for C/C++ code. It provides a 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 prebuild pylint @leemgs 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 prebuild indent @leemgs git ls-files $FILES_IN_COMPILER, It checks the code formatting style with GNU indent.
16 postbuild apptest @ohsewon It is a test for nnstreamer. Testing GStreamer pipeline with nnstreamer plugin. For more details, refer to Sample Apps.
17 prebuild doxygen-build @leemgs Check a Doxygen grammar if a Doxygen can normally generate source code
18 prebuild sloccount @leemgs 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 prebuild misspelling @leemgs Check a misspelled statement in a text document file with GNU Aspell.
20 prebuild prohibited-words @leemgs It to check a prohibited word if there are unnecessary words in the source codes.
21 prebuild shellcheck @leemgs It is to check if shell script files (e.g., .bash, .sh) include syntax errors.
22 prebuild flawfinder @leemgs It is a general-purpose scanner for finding and reporting upon potential security problems in both C and C++ source code. If you are interested in the OSS security tools, please visit HERE.
23 prebuild coverity @leemgs It is to examine the static analysis of C/C++ source code and reports potential issues. Coverity Scan is a free static-analysis cloud-based service for the open-source community. The tool analyzes over 3900 open-source projects and is integrated with GitHub and Travis CI.
24 postbuild yocto-kas @anyj0527 It checks kas based yocto clean build. This could be used as CI for your custom layers and recipes.
25 postbuild ... ...
  • Todo
No Group Checker Author Description
1 prebuild License @who You have to verify if you may import open source legally into this repository.
2 postbuild Blame @who The author get the warning email from CI bot in case that someone generates a regression.
Clone this wiki locally