Project Documentation

From Armagetron
Revision as of 18:01, 23 August 2021 by Cadillac (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

boletopa This is for all of our procedural and decision-making documentation. So when a large decision is made, or a controversial decision, you should find what amounts to a paper trail of the process of making the decision here. Expect numerous links to forum posts. :) Also, svn commit rules and so forth is here.

Waterfall

For developers with access: Protected Buildbot

The waterfall is a report that tells us where the build works and where it doesn't. It's powered by buildbot, but the builds themselves are run on different machines than the report.

Here's how it works. Whenever someone does some work and commits it to the repository, the buildbot sees it and some time after the repository has been committed to, it will start up a build of the affected branch or the trunk, whatever is appropriate. All platforms will be built, and whoever's made commits will be tracked.

Here's how you use it:

If you're one of the developers that isn't here all the time, and you return to work on your pet project, look at the waterfall and hopefully you will see the latest code builds. If that's the case, fine, jump in and start hacking, and make sure when you're done and ready to go on another hiatus, the waterfall shows everything builds. This helps you to prevent the rest of the team from waiting through your hiatus to build again because they can't figure out wtf you did. :) If it's not the case that the waterfall shows all builds currently successful, you can go back through the history until you find one that did work (hopefully the one before the current one!) and work off of that.

If you're here all the time, and you break the build, we get to lombast you for it. Besides that, it gives you good access to build information for other platforms, therefore giving each of us a real shot at fixing problems on other platforms. For most platform problems we have, this should be enough to distribute the load of supporting all these platforms. Some platform problems will still require those developers who work on those platforms to deal with it, such as adding bison and ruby support to the windows build, to pick a recent example. You can also do what philippe can do if you find the current trunk won't build: go through the history to a build that does work and work from that. This is obviously not an acceptable solution if you happen to be responsible for the build being broken in the first place. :)

Information on how you can add a node to the compiler farm controlled by the buildbot is available on the Development Docs page.

Government

The as yet unwritten government page.

For Developers

If you need to add documentation to this page, please edit this page and provide the link. Periodically, Lucifer or another admin will go through and archive old pages by simply moving the link to an as yet unmade archive listing. So this page should contain current documentation.