Barbecue/BrainStorming

Brain Storming

Scribsheet for ideas related to Barbecue (bbq).

Terminology

  • project:
    • source of whatever tool is the target of the continuous integration process (e.g. madwifi, madwifi-dfs, ...)
    • does not allow definition of variants or versions; versions are fetched from the repository automatically, variants must be defined as separate projects
  • toolchain:
    • used to build the project in question for a specific architecture (i386, ...); in other words: the compiler
    • allows versioning
  • kernel:
    • obviously this means the linux kernel
    • allows versions and variants:
      • versions refer to <version>.<patchlevel>.<sublevel>; the updater will take care that the latest microversion is available
      • variants refer to different configuration files used for a particular build

To be considered

  • project: build commands -- needed for flexibility, for example to allow builds of MadWifi being patched into the kernel
  • hooks: scripts that are called at different phases of the build process, definable for each "component" (project, kernel, maybe also the toolchain)

Features

  • notification:
    • plugins: to implement different notification methods (e-mail, web, IRC, ...)
    • severity: to allow notification plugins to decide whether a notification event is handled or not