Giter Site home page Giter Site logo

minvely / taos-ci Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nnstreamer/taos-ci

0.0 0.0 0.0 3.06 MB

:tangerine: TAOS-CI is an automated project coordinator to achieve "Review less, merge faster" with a tool-based review system. It is completely compatible with all GitHub repositories although TAOS-CI is designed & implemented for NNStreamer repository.

Home Page: http://taos-ci.mooo.com/

License: Apache License 2.0

CMake 0.27% Shell 86.35% Python 4.09% HTML 0.97% PHP 8.33%

taos-ci's Introduction

GitHub license

Build Status | Documentation | Contributing | Chat Room | Release Notes

Introduction

TAOS-CI is an automated project coordinator to achieve "Review less, merge faster" with a tool-based review system. It accelerates a software development based on the GitHub webhook API. We aim to prevent a regression, find bugs, and reduce a nonproductive review process because of incorrect PRs in https://github.com. Actually, Submitting the incorrect PRs is a PITA in case of continuous integration. Basically, PRs causing regressions will not be automatically merged. As a result of that, it drastically reduces the existing burdens of reviewers.

  • Minimize a nonproductive review process
  • Provide a test automation (both build and run)
  • Prevent a performance regression
  • Find bugs at a proper time before merging buggy codes
  • Generate a doxygen-based developer manual
  • Support modulable facilities with plug-in interface
  • Integrate the existing opensource tools easily
  • Verify an integrity of a package by supporting a platform build
  • Support multiple operating systems as following:

Goals

It is designed and implemented with a light-weight system approach to support a desktop computer based servers that have out-of-date CPUs and low memory capacity. Also, if you want to enable your project specific CI facilities, It will be easily customizable for your github repository because it just requires APACHE, PHP, and BASH package. Especially, we are mainly concentrating on the three goals as follows among a lot of action items.

  • Test automation (both build and run)
  • Preventing Performance regression
  • Finding potential bugs at a proper time

Maintenance

Please refer to Here.

Overall flow

The below diagram shows an overall flow of our system. The TAOS-CI system performs (1) the format checker (before the build) and (2) the audit checker (after the build) by separating an inspection procedure with two steps whenever contributors submit a Pull Request (PR).

  • Geunsik Lim, MyungJoo Ham, Jijoong Moon, Wook Song, Sangjung Woo, and Sewon Oh, "TAOS-CI: Lightweight & Modular Continuous Integration System for Edge Computing," 37th IEEE International Conference on Consumer Electronics (ICCE), Las Vegas, USA, Jan. 2019. (Accepted)

How to install

Please refer to How to install TAOS-CI.

How to use new CI module

Please refer to How to use new CI module. Current plugable facilities are as following:

  • Format (before a build): File size, New line, No body, Signed-off, Clang-format, Doxygen, Timestamp, Hardcoded-path, Executable, RPM-spec, CPPcheck, Pylint, Indent, Resource checker, and so on.
  • Audit (after a build): Ubuntu builder, Tizen builder, Yocto builder, and Android (Coming Soon).

Self assessment

Note that you have to execute a self assessment before submitting your PR. Please refer to How to build a package.

Terminology

  • CI: Continuous Integration
  • CD: Continuous Deployment
  • PR: Pull Request
  • TBD: To Be Defined
  • TBI: To Be Implemented

License

Reference

taos-ci's People

Contributors

leemgs avatar ohsewon avatar myungjoo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.