Skip to content

Instantly share code, notes, and snippets.

@jrabbit
Created April 5, 2011 02:53
Show Gist options
  • Save jrabbit/902938 to your computer and use it in GitHub Desktop.
Save jrabbit/902938 to your computer and use it in GitHub Desktop.

bâtisseur

A build server for all.

  • Language: Python
  • Targets: HaikuPorts, Fink
  • Traits: distributed, group verified, automatic

From a packager's viewpoint:

  • Assemble package information (SrcUrl, Description...)
  • git add, commit, push
  • Test the package
  • Repeat until error free
  • Push into repo of stable packages

Things that can be done to help packagers:

  • git pre-commit hook for validating the hpkg/info file
  • Automatic generation of stuff like md5 from the information given (before commit)
  • After package passes/fails building, report this somewhere (A custom script passed values) (Like github issues, twitter, growl, haiku notify)

User's perspective:

  • A game with points.
  • Every build their machine does -> points (Like BOINC projects)
  • Certain interactions with the package manager yield achievements

http://camlistore.org/

Timeline. Include what you plan to have accomplished by the end of:

Community bonding period (May 23) -

  • Buildbot stuff done (should take a week[end])

  • Hpkg-Build is in a good place with packages. (No work may need to be done, I haven't stayed on top of how well it works with the package manager implementation.)

Quarter-term (June 13) -

  • I have basic storage [via python] into camlistore or some other verifying system. [Allowing users to cryptographically "vouch"]

  • Package maintainer scripts start to form around this basic pushing

  • Beginning of a "build drone" [python] that listens on the storage mechanism for a new job, uploads results back to the storage.

Mid-term (July 11) -

  • Build drone can be configured via a webUI built in python

  • Build drone communicates pass/failure with logs according user preference, Build drone also begins to use .bep file tests to verify other's package builds.

Three-quarter-term (August 1) -

  • Wrap this up into a tight package.

  • Make a global scoreboard for the haiku package manager

  • wrap a shell script around it like git achievements http://thechangelog.com/post/1200486354/git-achievements-aquire-achievements-while-using-git

  • Build drone will report "scores" as well.

  • Scoreboard website will have basic user/password/avatar and groups.

  • the web UI for build drone notifies users based on their settings, notify, growl, notif.io etc

  • git hooks for developers are adjusted to meet feedback

Pencils down date (August 22) -

  • the websites are polished, and sustainable.

  • Any documentation not written happens here. [I suspect there will be a bit but its good to know in advance.]

After Google Summer of Code -

  • Batisseur [the user exposed parts] gets into Haiku nightlies

  • we see a Haiku Alpha release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment